真牛!Python竟然還能寫超級瑪麗遊戲,另贈400集教程+實戰項目


Python可以幹很多事情,常見的有Web後端開發,機器學習,數據分析等等。其實Python還能做遊戲開發

真牛!Python竟然還能寫超級瑪麗遊戲,另贈400集教程+實戰項目

看一下游戲圖:

真牛!Python竟然還能寫超級瑪麗遊戲,另贈400集教程+實戰項目

有沒有很親切的感覺,相信很多80後對這款遊戲都記憶猶新,一代人的記憶呀。

1.遊戲的入口

作者的功力還是蠻深的,整個代碼的框架很清晰。看一下它的啟動函數:

真牛!Python竟然還能寫超級瑪麗遊戲,另贈400集教程+實戰項目

是不是有一種很清爽的感覺,代碼是用非常有名的遊戲庫

pygame寫的。這個庫來做交互式的遊戲非常有用,也很有趣。這裡還加了cProfile庫,不知道是不是用來做計算性能的。

我們來看看main函數里都寫了啥:

真牛!Python竟然還能寫超級瑪麗遊戲,另贈400集教程+實戰項目

  • 第一個from 引入了setup和tools, 主要是把一些初始化的工作在setup裡面全部做完,讀取一些配置文件和圖片,聲音到內存裡面。
  • 第二個from 主要顯示主菜單和主界面。
  • 第三個from主要是引入了一些常量的配置,比如顏色紅色,黑色,白色,超級瑪麗,蘑菇,磚塊,硬幣的一些狀態常量。
  • run_it 是整個遊戲的核心類,是用來做整個遊戲的控制中心。
  • 作者設計了一個狀態機,裡面設計了5個主要的場景:主菜單,主界面,超時的界面,遊戲結束的節目還有循環運行的界面
  • 最後運行run_it.main(),調用控制類裡面的一個死循環函數,不斷監聽外部的event,來更新畫布,整個的背景其實是循環的。
真牛!Python竟然還能寫超級瑪麗遊戲,另贈400集教程+實戰項目

2.遊戲的框架

整個遊戲分resource和data兩個部分:

  • resource部分主要是存放一些字體啊,圖片啊,音樂和聲音。
  • data部分主要分組件compents和邏輯處理control部分,這裡的邏輯處理部分,作者非常巧妙的用狀態機來設計。
真牛!Python竟然還能寫超級瑪麗遊戲,另贈400集教程+實戰項目

一個遊戲肯定有不同的角色:

  • 比如物體:磚塊,城堡,硬幣,旗杆,障礙物
  • 比如人物:超級瑪麗,敵人(烏龜啥的)
  • 比如控制和記分:專門計算物體之間的碰撞,記錄獲得的金幣
  • 其他:比如提示信息,快速跑等等.

3.遊戲的按鍵控制

基本上跟經典的遊戲的控制是一摸一樣的,用s表示走,用a表示跳,下左右都是箭頭來表示的.

keybinding = { 'action':pg.K_s, 'jump':pg.K_a, 'left':pg.K_LEFT, 'right':pg.K_RIGHT, 'down':pg.K_DOWN}

整個遊戲我玩了幾把還是很不錯的,畫片還是蠻漂亮的,操作也很流暢,尤其是超級瑪麗在空中騰飛的姿勢還是很帥的,刷刷刷的頂到雲上!

然後想學習Python的同學,小編已經給你準備好 Python學習資料,如何獲取呢

評論區任意評論或者轉發一下

做完1、2步,私信回覆“學習”!

私信不要多字,不要少字,不要錯字,私信方法:點擊我頭像,進入主頁面,右上角有私信功能,在關注的上方位置。

真牛!Python竟然還能寫超級瑪麗遊戲,另贈400集教程+實戰項目

阿里大牛24個月總結python學習路線共26章,學會offer拿到手軟!

轉發本文然後來私信小編“學習”就可以哦

真牛!Python竟然還能寫超級瑪麗遊戲,另贈400集教程+實戰項目


分享到:


相關文章: