当前位置: 首页>Python>正文

誰是外星人游戲,20_外星人游戲項目03——

誰是外星人游戲,20_外星人游戲項目03——

在這之前學習了:游戲開發計劃的制定;使用Pygame編寫的游戲的基本結構;如何設置背景色,以及如何將設置存儲在可供游戲的各個部分訪問的獨立類中;如何在屏幕上 繪制圖像,以及如何讓玩家控制游戲元素的移動;如何創建自動移動的元素,如在屏幕中向上飛馳的子彈,以及如何刪除不再需要的對象;如何定期重構項目的代碼,為后續開 發提供便利。
在本章中,我們將在游戲《外星人入侵》中添加外星人。首先,我們在屏幕上邊緣附近添加一個外星人,然后生成一群外星人。我們讓這群外星人向兩邊和下面移 動,并刪除被子彈擊中的外星人。最后,我們將顯示玩家擁有的飛船數量,并在玩家的飛船用完后結束游戲。誰是外星人游戲?
通過閱讀本章,你將更深入地了解Pygame和大型項目的管理。你還將學習如何檢測游戲對象之間的碰撞,如子彈和外星人之間的碰撞。檢測碰撞有助于你定義游戲元 素之間的交互:可以將角色限定在迷宮墻壁之內或在兩個角色之間傳球。我們將時不時地查看游戲開發計劃,以確保編程工作不偏離軌道。
著手編寫在屏幕上添加一群外星人的代碼前,先來回顧一下這個項目,并更新開發計劃。人類能打敗外星人嗎。
回顧項目:
開發較大的項目時,進入每個開發階段前回顧一下開發計劃,搞清楚接下來要通過編寫代碼來完成哪些任務都是不錯的主意。本章涉及以下內容。
研究既有代碼,確定實現新功能前是否要進行重構。
在屏幕左上角添加一個外星人,并指定合適的邊距。
根據第一個外星人的邊距和屏幕尺寸計算屏幕上可容納多少個外星人。外星人燈效支持的游戲列表,我們將編寫一個循環來創建一系列外星人,這些外星人填滿了屏幕的上半部分。
讓外星人群向兩邊和下方移動,直到外星人被全部擊落,有外星人撞到飛船,或有外星人抵達屏幕底端。如果整群外星人都被擊落,我們將再創建一群外星人。如果有外星 人撞到了飛船或抵達屏幕底端,我們將銷毀飛船并再創建一群外星人。
限制玩家可用的飛船數量,配給的飛船用完后,游戲結束。地球上的外星人?
我們將在實現功能的同時完善這個計劃,但就目前而言,該計劃已足夠詳盡。在給項目添加新功能前,還應審核既有代碼。每進入一個新階段,通常項目都會更復雜,因此最好對混亂或低效的代碼進行清理。
我們在開發的同時一直不斷地重構,因此當前需要做的清理工作不多,但每次為測試新功能而運行這個游戲時,都必須使用鼠標來關閉它,這太討厭了。下面來添加一個結束游 戲的快捷鍵Q:

https://www.nshth.com/python/338577.html
>

相关文章:

  • 誰是外星人游戲
  • 人類能打敗外星人嗎
  • 外星人燈效支持的游戲列表
  • 地球上的外星人
  • 科幻游戲
  • 有外星人存在嗎
  • 外星人UFO
  • 真外星人
  • 國二python難嗎,python字符串(二)
  • 電腦軟件下載app,在電腦上體驗了 16 款手機 App 后,我很失望
  • elasticsearch中文文檔,Elastic安全分析新利器 —— Event Query Language (EQL) 介紹
  • 數據結構與算法python,[FreeCodeCamp筆記] Python 數據結構和算法1 二分搜索 Binary Search
  • 黑蘋果macOS系統鏡像工具,MacOS Monterey 12.2.1 (21D62) OC 0.7.8 / Cl 5144 / PE 三分區原版黑蘋果鏡像
  • 51單片機畢業設計論文,【畢業設計】基于單片機無線充電的4軸飛行器 -物聯網 嵌入式 stm32
  • 數據庫基礎知識整理,數據庫筆記整理
  • python運行不報錯又無任何結果輸出,linux 正確錯誤輸出_報告錯誤的正確方法
  • 計算機組成原理第六版課后答案,杭電計算機組成原理實驗九R-I,杭電計組實驗9-實現R-I型指令的CPU設計實驗.doc
  • python面向對象,Python零基礎速成班-第10講-Python面向對象編程(下),Property屬性、特殊方法、設計模式、鏈表應用
  • 數據庫視圖是什么,【SpringMVC】SpringMVC模型數據+視圖解析器
  • mp3格式轉換器,FFmpeg支持的音頻和視頻編解碼格式
  • 音樂學校招生要求,學校的音樂樓
  • c語言輸入兩個數輸出較大數,C語言求兩個數的較大值
  • 定義一個函數求三個數的最大值,輸入兩個整數,要求輸出其中值較大者。要求用函數求出最大值
  • MySQL學習 DAY1
  • 一個眼神一個微笑就讓人滿足,看得到的微笑
  • centos7安裝MySQL,centos7下載spark連接mysql數據庫提取數據(pyspark,Scala,python獨立執行)
  • node.js開發,從零開始nodejs系列文章-nodejs到底能干什么
  • python控制軟件自動化,Python實現網站自動登錄---傻瓜教程
  • get all of,resent = msg.get_all('Resent-Date') AttributeError: 'str' object h
  • opencv人體動作識別,torchvision使用keypoint rcnn 進行人體關鍵點定位
  • 深度卷積神經網絡原理與實踐,卷積神經網絡resent網絡實踐
  • 服務器,win服務器系統路由器,Windows server 2012 之路由功能
  • 小青蛙走迷宮的問題
  • 漢諾塔-小青蛙
  • 小青蛙oracle跟蹤,在小青蛙TOAD中用oracle語句寫
  • 音頻頻譜分析儀安卓版,[Android]自定義繪制一個簡易的音頻條形圖,附上對MP3音頻波形數據的采集與展現
  • 連乘符號∏的運算法則,∏這個是什么符號?
  • 用例失敗jenkins卻構建成功,jenkins 構建異常_jenkins構建失敗的原因是什么?