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