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导入txt数据到mysql的方法
Apr 08 Python
python学习笔记之调用eval函数出现invalid syntax错误问题
Oct 18 Python
python实现K近邻回归,采用等权重和不等权重的方法
Jan 23 Python
python制作简单五子棋游戏
Jun 18 Python
Python:Numpy 求平均向量的实例
Jun 29 Python
python命名空间(namespace)简单介绍
Aug 10 Python
Python创建一个元素都为0的列表实例
Nov 28 Python
python 解决flask 图片在线浏览或者直接下载的问题
Jan 09 Python
python从Oracle读取数据生成图表
Oct 14 Python
python操作toml文件的示例代码
Nov 27 Python
python解压zip包中文乱码解决方法
Nov 27 Python
Python+OpenCV实现图片中的圆形检测
Apr 07 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
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
PHP实现json_decode不转义中文的方法
2017/05/20 PHP
JavaScript 全角转半角部分
2009/10/28 Javascript
javascript函数中的arguments参数
2010/08/01 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
2017/03/10 Javascript
Angular4学习笔记之新建项目的方法
2017/07/18 Javascript
JavaScript利用fetch实现异步请求的方法实例
2017/07/26 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
2019/03/06 jQuery
微信小程序实现比较功能的方法汇总(五种方法)
2020/03/07 Javascript
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
整理Python最基本的操作字典的方法
2015/04/24 Python
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
Python列表list排列组合操作示例
2018/12/18 Python
python 在threading中如何处理主进程和子线程的关系
2020/04/25 Python
Java语言程序设计测试题改错题部分
2014/07/22 面试题
寄语十八大感言
2014/02/07 职场文书
会计电算化毕业生自荐信
2014/03/03 职场文书
《四季》教学反思
2014/04/08 职场文书
《画风》教学反思
2014/04/16 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
学生穿着不得体检讨书
2014/10/12 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
图书借阅制度范本
2015/08/06 职场文书
上班旷工检讨书
2015/08/15 职场文书
浅谈由position属性引申的css进阶讨论
2021/05/25 HTML / CSS
Mysql 设置boolean类型的操作
2021/06/04 MySQL
Java中Quartz高可用定时任务快速入门
2022/04/03 Java/Android