Python实现小黑屋游戏的完整实例
作者:M.G~ 时间:2021-03-08 13:27:43
大一上学期学习的内容之一,小黑屋比较好玩。
1.导入函数库
先导入random、time两个函数库的使用来达到随机生成人物、生成人物加载时间的目的。
import random
import time
2.创建列表
创建事件、资源、技能列表(可以自己思考然后加入你所认为需要的列表)。
event = ["遇到饥寒交迫的人"]#事件列表
source = ["木材","肉","布"]#资源列表
skill = ["潜水","爬山","跳跃"]#技能列表
3.创建函数
初始人物状态
def init():#初始人物
person = {"HP":100,"hungry":100,"EQ":50,"skill":"","木材":2,"fire":0}#人的初始状态
在这里后面可以加上time函数库,使生成人物需要加载时间来让游戏更加真实。
time.sleep(3)#停止运行3秒
print("人物生成中>>>>>>>>>50%")
time.sleep(2)#停止运行2秒
print("人物生成中>>>>>>>>>>>>>>>>>>>80%")
time.sleep(1)#停止运行1秒
print("人物生成中>>>>>>>>>>>>>>>>>>>>>>>>>>>100%")
showperson(person)
return person
火堆燃烧状态
def fire(person):
person["木材"] = person["木材"] - 1
person["hungry"] = person["hungry"] - 20
person["fire"] = 1
print("火堆燃起来了!")
return person
遇到事件的可能性和状态(因为前面事件列表只写了一个,所以我这里的事件就只是遇到饥寒交迫的人,你们可以自行修改)。
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("和他挑战你输了")
return person
人物现在的状态
def showperson(person):
print("你现在的状态是:",person)
调用函数
person = init()
person = fire(person)
person = Playgame(person)
showperson(person)
结果如下:
或者
要注意导入函数库,还有只创建需要使用的函数,以便于后面函数的调用。
总结
来源:https://blog.csdn.net/L_2376131723/article/details/112233823
标签:python,小黑屋,游戏
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2021-05-13 17:40:35
![](https://img.aspxhome.com/file/2023/1/63881_0s.png)
关于WARNING:Ignoring invalid distribution -pencv-python....警告信息的处理方法(已解决!)
2021-01-14 18:14:28
![](https://img.aspxhome.com/file/2023/7/65517_0s.png)
Python实现轻松切割MP3文件
2023-09-23 21:40:32
![](https://img.aspxhome.com/file/2023/5/62605_0s.png)
SQL Server 中死锁产生的原因及解决办法
2008-11-25 11:50:00
Asp Response.Expires 属性介绍
2008-02-19 17:02:00
Javascript Closures (1)
2009-03-18 12:14:00
Appium自动化测试实现H5页面元素定位
2023-06-22 02:25:53
![](https://img.aspxhome.com/file/2023/0/60740_0s.png)
MYSQL各字段的长度是多少?
2009-10-28 18:32:00
PHP 引用的概念
2023-11-14 21:24:28
如何编写一个高效的国税系统通讯录数据库?
2009-11-07 18:53:00
Python入门教程 超详细1小时学会Python
2023-06-13 23:34:12
![](https://img.aspxhome.com/file/2023/1/59131_0s.gif)
使用一条INSERT语句完成多表插入
2010-03-18 11:08:00
PHP利用ChatGPT实现轻松创建用户注册页面
2023-05-25 09:22:16
Access创建一个简单MIS多媒体管理系统
2008-10-13 12:31:00
PHP与Web页面交互操作实例分析
2023-09-05 14:43:16
![](https://img.aspxhome.com/file/2023/4/55604_0s.png)
如何在Access数据库中立即得到所插入记录的自动编号?
2010-06-17 12:45:00
微信小程序(微信应用号)开发工具0.9版安装详细教程
2023-06-12 23:33:37
![](https://img.aspxhome.com/file/2023/0/58650_0s.png)
asp经典入门教程 在ASP中使用SQL 语句
2013-06-01 20:23:21
从"..."看中国的UI设计界的粗糙
2007-11-21 19:28:00
![](https://img.aspxhome.com/file/UploadPic/200711/21/20071121193134977s.gif)
TXT.WORD文档下载另存为,而不是在浏览器中打开
2007-10-25 11:43:00