Python实现小黑屋游戏的完整实例


Posted in Python onJanuary 06, 2021

大一上学期学习的内容之一,小黑屋比较好玩。

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)

结果如下:

Python实现小黑屋游戏的完整实例

或者

Python实现小黑屋游戏的完整实例

要注意导入函数库,还有只创建需要使用的函数,以便于后面函数的调用。

总结

到此这篇关于Python实现小黑屋游戏的文章就介绍到这了,更多相关Python小黑屋游戏内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
在Python中编写数据库模块的教程
Apr 29 Python
基于进程内通讯的python聊天室实现方法
Jun 28 Python
高质量Python代码编写的5个优化技巧
Nov 16 Python
Python解析并读取PDF文件内容的方法
May 08 Python
Python实现App自动签到领取积分功能
Sep 29 Python
python3.6使用pickle序列化class的方法
Oct 22 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
Django中URL的参数传递的实现
Aug 04 Python
Python自动化导出zabbix数据并发邮件脚本
Aug 16 Python
wxPython实现文本框基础组件
Nov 18 Python
Docker如何部署Python项目的实现详解
Oct 26 Python
python mongo 向数据中的数组类型新增数据操作
Dec 05 Python
Jupyter Notebook 安装配置与使用详解
Jan 06 #Python
在Ubuntu中安装并配置Pycharm教程的实现方法
Jan 06 #Python
python requests库的使用
Jan 06 #Python
Python 实现进度条的六种方式
Jan 06 #Python
基于Python实现天天酷跑功能
Jan 06 #Python
python 下载文件的几种方法汇总
Jan 06 #Python
python 视频下载神器(you-get)的具体使用
Jan 06 #Python
You might like
php通过文件头检测文件类型通用代码类(zip,rar等)
2010/10/19 PHP
php中{}大括号是什么意思
2013/12/01 PHP
php之static静态属性与静态方法实例分析
2015/07/30 PHP
php获取文件后缀的9种方法
2016/03/22 PHP
php实现评论回复删除功能
2017/05/23 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
PHP 文件写入和读取操作实例详解【必看篇】
2019/11/04 PHP
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
使用watch在微信小程序中实现全局状态共享
2019/06/03 Javascript
JS实现水平遍历和嵌套递归操作示例
2019/08/15 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
python中self原理实例分析
2015/04/30 Python
Python实现保证只能运行一个脚本实例
2015/06/24 Python
基于python yield机制的异步操作同步化编程模型
2016/03/18 Python
python中requests小技巧
2017/05/10 Python
python机器学习实战之最近邻kNN分类器
2017/12/20 Python
Python装饰器简单用法实例小结
2018/12/03 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
Pycharm2020.1安装中文语言插件的详细教程(不需要汉化)
2020/08/07 Python
Pycharm连接gitlab实现过程图解
2020/09/01 Python
Django ModelForm组件原理及用法详解
2020/10/12 Python
appium+python自动化配置(adk、jdk、node.js)
2020/11/17 Python
python 实现学生信息管理系统的示例
2020/11/28 Python
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
湖南卫视在线视频媒体平台:芒果TV
2019/10/30 全球购物
店长岗位职责
2013/11/21 职场文书
党建示范点实施方案
2014/03/12 职场文书
师德演讲稿范文
2014/05/06 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
导游词之长城八达岭
2019/09/24 职场文书
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js
详解如何使用Nginx解决跨域问题
2022/05/06 Servers