Python版本:3.6.4函數
相關模塊:工具
pygame模塊;學習
以及一些Python自帶的模塊。開發工具
關注公衆號:Python學習指南,回覆「恐龍跳一跳」便可獲取
安裝Python並添加到環境變量,pip安裝須要的相關模塊便可。spa
原理介紹blog
遊戲規則簡介:遊戲
玩家經過空格鍵控制一隻小恐龍的前進方式,當小恐龍觸碰到植物或者飛龍時,遊戲結束。小恐龍躲避的植物和飛龍越多,得分越高。事件
逐步實現:圖片
Step1:定義精靈類ip
爲了方便實現小恐龍和植物以及飛龍之間的碰撞檢測,咱們先定義一些精靈類,包括:
① 植物類
其中,move函數的做用爲使隨機生成的植物不斷地左移,來實現小恐龍不斷右移的效果。
② 飛龍類
飛龍類的定義要略微複雜一些,由於若是咱們想讓飛龍飛起來更逼真一些,就必須每隔一段很小的時間,就對飛龍的狀態進行轉換。具體而言,飛龍的飛行狀態有兩種,即翅膀向上和翅膀向下:
咱們須要作的就是每隔很短的一段時間,就讓飛龍的翅膀由其中一種姿式轉爲另一種姿式。
③ 小恐龍類
小恐龍類的定義與飛龍類相似,只不過狀態要更加豐富一些,而且經過勻加速直線公式模擬恐龍的跳躍和降低的動做。
Step2:定義場景類
咱們須要定義一個簡單的場景類(道路和雲等場景),來使咱們的遊戲效果更加逼真:
這裏惟一須要注意的就是場景的左移速度應當與植物類一致(畢竟它們理論上都應當是相對靜止的),而且須要三張場景圖同時左移來保證畫面的連續性。
Step3:遊戲主循環
先初始化,內容包括加載遊戲素材文件、實例化以前定義的精靈類和場景類、定義一些必要的常量和用戶事件等:
而後就能夠進入遊戲主循環了:
主循環主要包括四個功能,一是事件檢測;二是不斷地產生、移動並畫出相應的場景和精靈類;三是碰撞檢測;四是統計並顯示當前分數。
All Done!