Python制作复古地牢文字冒险游戏
?
巨洞冒險(Colossal Cave Adventure),又名 ADVENT、Clossal Cave 或 Adventure,是八十年代初到九十年代末最受歡迎的基于文字的冒險游戲。這款游戲還作為史上第一款“互動小說(interactive fiction)”類游戲而聞名。在 1976 年,一個叫 Will Crowther 的程序員開發了這款游戲的一個早期版本,之后另一位叫 Don Woods 的程序員改進了這款游戲,為它添加了許多新元素,包括計分系統以及更多的幻想角色和場景。
今天的技術發展已經遠遠超越了那個時代,但我仍然對那個年代的游戲充滿好奇。今天我就來用Python游戲實現一個復古風格的地牢文字冒險游戲。
游戲規則設計
游戲主要場景是迷宮,四周的#是墻壁,無法穿過。
M表示怪物,G表示哥布林,H表示玩家
遭遇怪物通常有幾率對你造成一定的傷害,并且遭遇怪物后怪物并不會消失,下一次再來到這個格子時還會再遭遇怪物
哥布林是友善的,遭遇不同類型的哥布林有幾率給你不同的增幅,加血,加小蘋果等,哥布林遭遇后會消失
移動一格需要消耗1點血量
血量歸零則游戲失敗
游戲的核心就是:玩家需要合理規劃路線,在血量歸零前遭遇所有的怪物即可獲得游戲勝利
勝利分數就是通關時剩余的小蘋果數量,小蘋果數量越多勝利分數越高。排行榜按照勝利分數排名。
地牢生成
地牢的生成算法是一個遞歸算法,算法過程有點類似分割房間。
首先,創造一塊邊長為s的正方形場地,隨機一對x和y作為切割點,x為橫向切割點,y為縱向切割點,通過把x行和y列的值全部設置為1(墻)把這塊場地切割成4份
兩條切割線構成了4面墻(可以看作是從交點延展開的四面墻),在其中三面墻上打個洞(置0表示空)使其整體連通,對這四個小房間進行遞歸調用,直到無法切割為止。
用圖來解釋,黑色部分的墻是第一次切割,把整個場地切割成四個房間,然后留三個門。綠色則是第二次遞歸切割,一樣是切割成4個房間然后隨機留三個門。循環往復,直到無法分割為止。
實現怪物和哥布林
因為怪物之間有共同點,哥布林之間也有共同點。所以可以很自然的使用抽象類去定義他們。
按照游戲設定,我們有富有的哥布林,醫生哥布林和游戲哥布林。
他們都是哥布林,都有類似的特性,那就是需要初始化概率參數(init)和發動的能力(ability)。
所以我們可以用一個抽象類去規范化具體的哥布林子類。
如下圖所示,這是一個富有的哥布林的類,它繼承自Goblin,即我們上面的抽象類
這里我們重寫了init和ability方法,使其具有特定的功能。
再看一下其他的哥布林也是類似的。
其他怪物也是用類似的方法去定義。
游戲控制器
游戲控制器控制著整個游戲,負責調用算法生成迷宮,生成怪物,把英雄放進地牢,顯示文字提示等,也是游戲的主循環。
效果展示
最后,歡迎大家通過微信公眾號聯系我們。
微信公眾號:320科技工作室。
總結
以上是生活随笔為你收集整理的Python制作复古地牢文字冒险游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一分钟讲透物联网和物联网的发展前景
- 下一篇: python计算工资工时_Python帮