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脚本实现代码行数统计代码分享
Mar 10 Python
python实现在sqlite动态创建表的方法
May 08 Python
Python selenium如何设置等待时间
Sep 15 Python
Python入门_条件控制(详解)
May 16 Python
python多进程实现进程间通信实例
Nov 24 Python
python实现求最长回文子串长度
Jan 22 Python
windows环境下tensorflow安装过程详解
Mar 30 Python
Python 中的range(),以及列表切片方法
Jul 02 Python
数据清洗--DataFrame中的空值处理方法
Jul 03 Python
python实现音乐播放器 python实现花框音乐盒子
Feb 25 Python
如何基于matlab相机标定导出xml文件
Nov 02 Python
python实现自动清理文件夹旧文件
May 10 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
一个捕获函数输出的函数
2007/02/14 PHP
PHP 模拟登陆MSN并获得用户信息
2009/05/16 PHP
PHPLog php 程序调试追踪工具
2009/09/09 PHP
PHP版 汉字转码的实现详解
2013/06/09 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
2013/11/28 PHP
ThinkPHP实现图片上传操作的方法详解
2017/05/08 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
php 使用expat方式解析xml文件操作示例
2019/11/26 PHP
代码生成器 document.write()
2007/04/15 Javascript
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
JQuery 弹出框定位实现方法
2010/12/02 Javascript
Javascript 面向对象编程(一) 封装
2011/08/28 Javascript
JavaScript 高级篇之闭包、模拟类,继承(五)
2012/04/07 Javascript
对于this和$(this)的个人理解
2013/09/08 Javascript
javasciprt下jquery函数$.post执行无响应的解决方法
2014/03/13 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
Vue中的验证登录状态的实现方法
2019/03/09 Javascript
[08:29]DOTA2每周TOP10 精彩击杀集锦vol.7
2014/06/25 DOTA
Python数据类型学习笔记
2016/01/13 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
详解Django配置优化方法
2019/11/18 Python
python解析命令行参数的三种方法详解
2019/11/29 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
HTML5边玩边学(3)像素和颜色
2010/09/21 HTML / CSS
非常详细的C#面试题集
2016/07/13 面试题
指导教师评语
2014/04/26 职场文书
忠诚教育心得体会
2014/09/03 职场文书
五年级小学生评语
2014/12/26 职场文书
检讨书格式
2015/05/07 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS
python 利用PyAutoGUI快速构建自动化操作脚本
2021/05/31 Python
Go语言 详解net的tcp服务
2022/04/14 Golang