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的Django框架中编写编译函数
Jul 20 Python
Python selenium抓取微博内容的示例代码
May 17 Python
python 获取微信好友列表的方法(微信web)
Feb 21 Python
Python中super函数用法实例分析
Mar 18 Python
python傅里叶变换FFT绘制频谱图
Jul 19 Python
Python实现的企业粉丝抽奖功能示例
Jul 26 Python
pytorch的batch normalize使用详解
Jan 15 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
Jun 03 Python
python中slice参数过长的处理方法及实例
Dec 15 Python
用python批量解压带密码的压缩包
May 31 Python
Python实现拼音转换
Jun 07 Python
如何利用python实现Simhash算法
Jun 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
地摊中国 - 珍藏老照片
2020/08/18 杂记
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
php接口和抽象类使用示例详解
2014/03/02 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
JavaScript 函数调用规则
2009/09/14 Javascript
ext 同步和异步示例代码
2009/09/18 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
微信小程序 前端源码逻辑和工作流详解
2016/10/08 Javascript
从零学习node.js之mysql数据库的操作(五)
2017/02/24 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
2017/04/23 Javascript
基于JavaScript实现无缝滚动效果
2017/07/21 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
Vue脚手架编写试卷页面功能
2020/03/17 Javascript
小程序表单认证布局及验证详解
2020/06/19 Javascript
在Mac OS系统上安装Python的Pillow库的教程
2015/11/20 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
python字典快速保存于读取的方法
2018/03/23 Python
Python之列表的插入&amp;替换修改方法
2018/06/28 Python
Python计算开方、立方、圆周率,精确到小数点后任意位的方法
2018/07/17 Python
详解Python字符串切片
2019/05/20 Python
Django自定义用户表+自定义admin后台中的字段实例
2019/11/18 Python
python可以用哪些数据库
2020/06/22 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
萌新的HTML5 入门指南
2020/11/06 HTML / CSS
Java的类与C++的类有什么不同
2014/01/18 面试题
社会实践评语
2014/04/28 职场文书
体育口号大全
2014/06/18 职场文书
促销活动总结模板
2014/07/01 职场文书
临时租车协议范本
2014/09/23 职场文书
sentinel支持的redis高可用集群配置详解
2022/04/01 Redis
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers