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