摘要:前幾天出去旅游了,所以沒能更新文章,但轉眼間,從開始用寫一個命令行小游戲系列已經更新到了第十篇。閑話少說,今天我們要開始重構了但第一件事還是上篇的鏈接從開始用寫一個命令行小游戲九。所以,我們需要一個標志變量,以標志游戲的結束。
前幾天出去旅游了,所以沒能更新文章,但轉眼間,“從0開始用python寫一個命令行小游戲”系列已經更新到了第十篇。閑話少說,今天我們要開始重構了!但第一件事還是上篇的鏈接:從0開始用python寫一個命令行小游戲(九)。
重構 控制游戲結束之前我們是直接sys.exit()結束程序的,靈活性不高,尤其是需要連續玩游戲時。所以,我們需要一個標志變量,以標志游戲的結束。所以,在game_obj.py開頭加上:
exited = False
然后把BaseZombie類中的die()方法修改為:
def die(self): if self.die_to_exit: exited = True
然后把game.py中的Game類的start()方法的while循環改為:
while not o.exited: pass # 內部同前
這里說明一下:為了減少我的打字量,之后會把類似于 “game.py中的Game類的start()方法” 改寫為Python path的形式,即:game.Game.start()方法。
然后我們會發現,之前我們使用的在游戲最后判斷輸贏并輸出的代碼不再能正確地判斷輸贏了,它永遠報告你輸了,即使你贏了也是如此。那怎么辦呢?答案是:再使用一個標志變量!
判斷輸贏為解決剛才的問題,可以使用另一個標志變量:plant_win。顧名思義,它指的是植物是否贏了。在game_obj.py開頭再次添加:
plant_win = False
然后把game_obj.BaseZombie.die()方法改為:
if self.die_to_exit: exited = True plant_win = True
在這個類的step()方法開頭添加:
if self.x == 0: exited = True plant_win = False
至于如何根據這個標志判斷輸贏,呃,你們自己想吧,太明顯了。
下集預告下次,我們將引入一個配置文件,使代碼變得更加優雅。敬請繼續關注!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42280.html
摘要:但是,來都來了,我們的編程還是要繼續的嘛今天的主題配置文件首先,上篇鏈接從開始用寫一個命令行小游戲十配置文件匹配植物首先,我要強調一點所有需要變量匹配的地方類似別的語言中的,都可以用配置文件主要是字典。 第11篇!第11篇!第11篇!!!說實話,我真沒想過文章會更新到10以上。但是,來都來了,我們的編程還是要繼續的嘛!今天的主題:配置文件!首先,上篇鏈接:從0開始用python寫一個命...
摘要:嗯,今天我們的從開始用寫一個命令行小游戲系列總算走到了我發布的時候。玩過我的正式版的話,你會發現現在的游戲還和正式版差別很大。好,現在就來順便補充一下,上次方法后追加僵尸被打敗是完成了好好慶祝一下 嗯,今天我們的從0開始用python寫一個命令行小游戲系列總算走到了我發布v1.0 beta 1的時候。玩過我的1.0正式版的話,你會發現現在的游戲還和正式版差別很大。不管怎么樣,現在就開始...
摘要:講點搞笑的,最近在開發時,發現最令程序猿頭疼的一點就是沒有語句。但自動的僵尸呢哎,別急,那是后話下集預告下次,我要把游戲變得全自動具體工作令僵尸自動出現,和讓用戶用命令控制游戲這些工作完成后,就可以發布了歡迎繼續關注 嗯,還是我,我又回來了——以后文章就兩天一篇吧。講點搞笑的,最近在開發v1.1 beta 3時,發現Python最令程序猿頭疼的一點就是沒有switch/case語句。要...
摘要:今天我時間有點緊張,所以不說廢話了,直接進入正題。好現在,游戲可以自動產生僵尸了。然后呢用戶可控的植物真正的植物大戰僵尸游戲可以讓玩家用鼠標控制游戲。由于這是命令行游戲,所以我們得用命令控制。 今天我時間有點緊張,所以不說廢話了,直接進入正題。前作鏈接: 從0開始用python寫一個命令行小游戲(一) 從0開始用python寫一個命令行小游戲(二) 從0開始用python寫一個命令行...
摘要:今天就開始由于整個游戲會有自己的一些屬性和行為,所以我決定把它編寫在類里。初始化游戲定義自己的屬性先定義這些。我計劃使用格式,以第幾步出現作為鍵,以出現的僵尸類型以后可能會出現不同類型的僵尸和是否在它被消滅后結束游戲作為值。 Hey, everyone! 文章遲到了一天,但我今天心情很好,因為有兩個好消息,你們想先聽哪個?哎,算了,反正都是好消息,一起聽吧。 本游戲的v1.1 bet...
閱讀 2536·2023-04-25 19:47
閱讀 3383·2019-08-29 17:18
閱讀 855·2019-08-29 15:26
閱讀 3360·2019-08-29 14:17
閱讀 1114·2019-08-26 13:49
閱讀 3338·2019-08-26 13:22
閱讀 3023·2019-08-26 10:44
閱讀 2692·2019-08-23 16:51