Python實(shí)現(xiàn)小黑屋游戲的完整實(shí)例
大一上學(xué)期學(xué)習(xí)的內(nèi)容之一,小黑屋比較好玩。
1.導(dǎo)入函數(shù)庫
先導(dǎo)入random、time兩個(gè)函數(shù)庫的使用來達(dá)到隨機(jī)生成人物、生成人物加載時(shí)間的目的。
import random import time
2.創(chuàng)建列表
創(chuàng)建事件、資源、技能列表(可以自己思考然后加入你所認(rèn)為需要的列表)。
event = ["遇到饑寒交迫的人"]#事件列表 source = ["木材","肉","布"]#資源列表 skill = ["潛水","爬山","跳躍"]#技能列表
3.創(chuàng)建函數(shù)
初始人物狀態(tài)
def init():#初始人物 person = {"HP":100,"hungry":100,"EQ":50,"skill":"","木材":2,"fire":0}#人的初始狀態(tài)
在這里后面可以加上time函數(shù)庫,使生成人物需要加載時(shí)間來讓游戲更加真實(shí)。
time.sleep(3)#停止運(yùn)行3秒 print("人物生成中>>>>>>>>>50%") time.sleep(2)#停止運(yùn)行2秒 print("人物生成中>>>>>>>>>>>>>>>>>>>80%") time.sleep(1)#停止運(yùn)行1秒 print("人物生成中>>>>>>>>>>>>>>>>>>>>>>>>>>>100%") showperson(person) return person
火堆燃燒狀態(tài)
def fire(person): person["木材"] = person["木材"] - 1 person["hungry"] = person["hungry"] - 20 person["fire"] = 1 print("火堆燃起來了!") return person
遇到事件的可能性和狀態(tài)(因?yàn)榍懊媸录斜碇粚懥艘粋€(gè),所以我這里的事件就只是遇到饑寒交迫的人,你們可以自行修改)。
def Playgame(person): #point = random.randint(0,1) point = 0 if point == 0: print("你遇到了饑寒交迫的人!") choose = input("是否要給他木材:") print("你的火堆熊熊燃燒中...") if choose == "是": person["木材"] = person["木材"] - 1 person["EQ"] = person["EQ"] + 10 if 80 < random.randint(0,100): skill = random.choice("skill") skill.remove(skill) person["skill"] = person["skill"] + skill person["HP"] = person["HP"] + 100 else: person["HP"] = person["HP"] - 10 print("和他挑戰(zhàn)你輸了") return person
人物現(xiàn)在的狀態(tài)
def showperson(person): print("你現(xiàn)在的狀態(tài)是:",person)
調(diào)用函數(shù)
person = init() person = fire(person) person = Playgame(person) showperson(person)
結(jié)果如下:
或者
要注意導(dǎo)入函數(shù)庫,還有只創(chuàng)建需要使用的函數(shù),以便于后面函數(shù)的調(diào)用。
總結(jié)
到此這篇關(guān)于Python實(shí)現(xiàn)小黑屋游戲的文章就介紹到這了,更多相關(guān)Python小黑屋游戲內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
瘋狂上漲的Python 開發(fā)者應(yīng)從2.x還是3.x著手?
熱度瘋漲的 Python,開發(fā)者應(yīng)從 2.x 還是 3.x 著手?這篇文章就為大家分析一下了Python開發(fā)者應(yīng)從2.x還是3.x學(xué)起,感興趣的小伙伴們可以參考一下2017-11-11淺析Python中g(shù)etattr和getattribute的調(diào)用
在Python中,getattr和getattribute是兩個(gè)用于屬性訪問的重要函數(shù),它們可以在運(yùn)行時(shí)動(dòng)態(tài)地獲取對(duì)象的屬性或自定義屬性訪問行為,下面我們就來學(xué)習(xí)一下它們的具體用法吧2023-11-11Pycharm中flask開啟debug模式的詳細(xì)流程
PyCharm是一個(gè)強(qiáng)大的集成開發(fā)環(huán)境(IDE),非常適合Python開發(fā)者,包括Flask框架,當(dāng)你在使用Flask開發(fā)Web應(yīng)用時(shí),Debug功能是非常重要的,它允許你在運(yùn)行時(shí)檢查程序的狀態(tài)、調(diào)試代碼錯(cuò)誤,本文將介紹Pycharm中flask開啟debug模式的詳細(xì)流程,需要的朋友可以參考下2024-08-08Django項(xiàng)目使用CircleCI的方法示例
這篇文章主要介紹了Django項(xiàng)目使用CircleCI的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Ubuntu下使用Python實(shí)現(xiàn)游戲制作中的切分圖片功能
這篇文章主要介紹了Ubuntu下使用Python實(shí)現(xiàn)游戲制作中的切分圖片功能,涉及Python針對(duì)圖片的讀取、載入、切分運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2018-03-03聊聊pytorch中Optimizer與optimizer.step()的用法
這篇文章主要介紹了pytorch中Optimizer與optimizer.step()的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05Python 自制簡(jiǎn)單版《我的世界》的詳細(xì)過程
這篇文章主要介紹了教你用 Python 自制簡(jiǎn)單版《我的世界》,接下來,我們就帶你運(yùn)行這個(gè)項(xiàng)目,并對(duì)這個(gè)開源的小游戲做一下簡(jiǎn)單的更改,讓它變成“你的”世界2021-11-11Pytorch中實(shí)現(xiàn)只導(dǎo)入部分模型參數(shù)的方式
今天小編就為大家分享一篇Pytorch中實(shí)現(xiàn)只導(dǎo)入部分模型參數(shù)的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01