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使用xlrd模块读写Excel文件的方法
May 06 Python
python使用正则表达式匹配字符串开头并打印示例
Jan 11 Python
启动targetcli时遇到错误解决办法
Oct 26 Python
Python实现XML文件解析的示例代码
Feb 05 Python
python中abs&amp;map&amp;reduce简介
Feb 20 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
Sep 28 Python
python实现简单图书管理系统
Nov 22 Python
python 实现批量替换文本中的某部分内容
Dec 13 Python
Python表达式的优先级详解
Feb 18 Python
浅析Python 抽象工厂模式的优缺点
Jul 13 Python
Python tempfile模块生成临时文件和临时目录
Sep 30 Python
python双向链表实例详解
May 25 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设计模式 Delegation(委托模式)
2011/06/26 PHP
PHP mb_convert_encoding文字编码的转换函数介绍
2011/11/10 PHP
php正则表达式获取内容所有链接
2015/07/24 PHP
PHP面试题之文件目录操作
2015/10/15 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
日期函数扩展类Ver0.1.1
2006/09/07 Javascript
使Ext的Template可以解析二层的json数据的方法
2007/12/22 Javascript
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
jQuery操作cookie
2016/08/08 Javascript
zTree 树插件实现全国五级地区点击后加载的示例
2018/02/05 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
JavaScript如何操作css
2020/10/24 Javascript
浅谈Ant Design Pro 菜单自定义 icon
2020/11/17 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
使用beaker让Facebook的Bottle框架支持session功能
2015/04/23 Python
Python中转换角度为弧度的radians()方法
2015/05/18 Python
深入理解Python分布式爬虫原理
2017/11/23 Python
详解python实现线程安全的单例模式
2018/03/05 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
python zip,lambda,map函数代码实例
2020/04/04 Python
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
西班牙用户之间买卖视频游戏的平台:Wakkap
2020/03/21 全球购物
中职毕业生自我鉴定
2014/09/13 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
公务员政审材料
2014/12/23 职场文书
小浪底导游词
2015/02/12 职场文书
安全生产先进个人总结
2015/02/15 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
保安辞职申请书应该怎么写?
2019/07/15 职场文书
Python可视化学习之seaborn绘制矩阵图详解
2022/02/24 Python