天天看點

《易學Python》——6.7 危險與刺激

本節書摘來自異步社群《易學python》一書中的第6章,第6.7節,作者[澳]anthony briggs,王威,袁國忠 譯,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

本章遊戲的最後一部分是讓玩家和怪物互相攻擊。對遊戲來說,競争氛圍必不可少:格鬥能力、速度、誰建造的城市最大、誰建造的房子最好等。在這裡,您編寫的是一個地下城冒險遊戲,是以格鬥必不可少:《龍與地下城》玩家都希望能夠痛擊獸人。鑒于格鬥将在玩家和怪物之間展開,您首先給player類添加一個attack方法,如程式清單6.15所示。

程式清單6.15 攻擊其他參與者

《易學Python》——6.7 危險與刺激
《易學Python》——6.7 危險與刺激
《易學Python》——6.7 危險與刺激

這就是在遊戲中支援格鬥所需做的全部工作!鑒于妥善地封裝了所有類,是以不需要對cave、item和game類做任何修改。準确地說是不完全這樣;如果您運作該程式,将發現一個顯而易見的問題:怪物不會反擊;更糟糕的是,怪物被玩家殺死後,還在四處亂竄!這兩個問題都很容易解決,隻需簡單地更新怪物的ai即可,如程式清單6.16所示。

程式清單6.16 更新怪物的ai

《易學Python》——6.7 危險與刺激

至此,您添加了冒險遊戲的所有元素:可供玩家探索的洞穴迷宮、攻擊玩家的怪物、可供玩家收集以幫助他實作目标的物品和财寶。有了本章的代碼,再加上想象力,您幾乎能夠根據喜好建立任何冒險遊戲。