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中的进程分支fork和exec详解
Apr 11 Python
Python sys.argv用法实例
May 28 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
May 26 Python
Python实现简单的用户交互方法详解
Sep 25 Python
使用Python将Mysql的查询数据导出到文件的方法
Feb 25 Python
tensorflow-gpu安装的常见问题及解决方案
Jan 20 Python
学习python需要有编程基础吗
Jun 02 Python
Python导入数值型Excel数据并生成矩阵操作
Jun 09 Python
浅谈keras 的抽象后端(from keras import backend as K)
Jun 16 Python
用python制作个音乐下载器
Jan 30 Python
详解Python 3.10 中的新功能和变化
Apr 28 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 多进程 解决难题
2009/06/22 PHP
PHP学习之整理字符串
2011/04/17 PHP
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
PHP 第二节 数据类型之字符串类型
2012/04/28 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
2012/08/21 PHP
jQuery Selector选择器小结
2010/05/06 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
jquery处理json对象
2014/11/03 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
jQuery+jsp下拉框联动获取本地数据的方法(附源码)
2015/12/03 Javascript
js实现页面a向页面b传参的方法
2016/05/29 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
微信小程序开发的基本流程步骤
2019/01/31 Javascript
Vee-validate 父组件获取子组件表单校验结果的实例代码
2019/05/20 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
Python多进程并发与多线程并发编程实例总结
2018/02/08 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
如何用python写个模板引擎
2021/01/14 Python
TensorFlow2.0使用keras训练模型的实现
2021/02/20 Python
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
SmartBuyGlasses中国:唯视良品(销售名牌太阳镜、墨镜和眼镜框)
2017/07/03 全球购物
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
群众路线党课主持词
2014/04/01 职场文书
经典团队口号大全
2014/06/21 职场文书
班主任开场白
2015/06/01 职场文书
小学生暑假安全公约
2015/07/14 职场文书
Java 超详细讲解数据结构中的堆的应用
2022/04/02 Java/Android