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实现360的字符显示界面
Feb 21 Python
用Python的Django框架完成视频处理任务的教程
Apr 02 Python
python中的lambda表达式用法详解
Jun 22 Python
Python爬虫番外篇之Cookie和Session详解
Dec 27 Python
Python数据分析之双色球中蓝红球分析统计示例
Feb 03 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
Sep 17 Python
python过滤中英文标点符号的实例代码
Jul 15 Python
python爬虫之遍历单个域名
Nov 20 Python
python基于event实现线程间通信控制
Jan 13 Python
tensorflow 保存模型和取出中间权重例子
Jan 24 Python
python中np是做什么的
Jul 21 Python
如何利用python正则表达式匹配版本信息
Dec 09 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函数解决SQL injection
2006/12/09 PHP
深入理解PHP中的global
2014/08/19 PHP
总结对比php中的多种序列化
2016/08/28 PHP
js 函数的执行环境和作用域链的深入解析
2009/11/01 Javascript
JavaScript toFixed() 方法
2010/04/15 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
.NET微信公众号开发之创建自定义菜单
2015/07/16 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
jQuery简单入门示例之用户校验demo示例
2016/07/09 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
Python开发WebService系列教程之REST,web.py,eurasia,Django
2014/06/30 Python
python使用cStringIO实现临时内存文件访问的方法
2015/03/26 Python
Python自动化部署工具Fabric的简单上手指南
2016/04/19 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
Python随机函数random()使用方法小结
2018/04/29 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
python计算两个矩形框重合百分比的实例
2018/11/07 Python
一篇文章了解Python中常见的序列化操作
2019/06/20 Python
Pyqt5实现英文学习词典
2019/06/24 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
公司企业表扬信
2014/01/11 职场文书
12月小学生校园广播稿
2014/02/04 职场文书
店面销售职位的职责
2014/03/09 职场文书
个人委托书格式
2014/04/04 职场文书
环境卫生标语
2014/06/09 职场文书
幼师辞职信范文
2015/02/27 职场文书
护士心得体会范文
2016/01/25 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS