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