Python实现小黑屋游戏的完整实例

作者:M.G~ 时间:2021-03-08 13:27:43 

大一上学期学习的内容之一,小黑屋比较好玩。

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实现小黑屋游戏的完整实例

要注意导入函数库,还有只创建需要使用的函数,以便于后面函数的调用。

总结

来源:https://blog.csdn.net/L_2376131723/article/details/112233823

标签:python,小黑屋,游戏
0
投稿

猜你喜欢

  • python模拟事件触发机制详解

    2023-03-11 11:09:02
  • 考虑SQL Server安全时所应注意的几个方面

    2009-01-04 13:57:00
  • PHP组合模式Composite Pattern优点与实现过程

    2023-05-29 02:10:44
  • Python全局锁中如何合理运用多线程(多进程)

    2022-05-27 18:58:22
  • 5款非常棒的Python工具

    2023-03-22 15:58:03
  • vue解决跨域问题的几种常用方法(CORS)

    2024-04-28 09:32:42
  • Numpy中如何创建矩阵并等间隔抽取数据

    2023-01-14 16:21:16
  • VUE中如何动态绑定类名和样式

    2024-04-26 17:41:35
  • 自动定时重启sql server回收内存

    2008-11-26 17:41:00
  • Python脚本开发中的命令行参数及传参示例详解

    2023-01-25 02:44:30
  • GoLang中生成UUID唯一标识的实现

    2024-05-22 10:19:54
  • python系统指定文件的查找只输出目录下所有文件及文件夹

    2021-03-23 08:00:04
  • python打印日志方法的使用教程(logging模块)

    2023-12-10 01:39:14
  • VUE 实现一个简易老虎机的项目实践

    2024-05-10 14:19:17
  • 用unescape反编码得出汉字示例

    2024-04-19 09:48:52
  • 关于Python字典(Dictionary)操作详解

    2022-02-04 15:25:01
  • 基于Python利用Pygame实现翻转图像

    2021-05-20 00:05:08
  • 发个选星星打分/投票功能函数

    2008-05-22 12:38:00
  • 详解Golang利用反射reflect动态调用方法

    2024-05-02 16:23:47
  • 使用Python实现跳一跳自动跳跃功能

    2023-04-07 01:57:55
  • asp之家 网络编程 m.aspxhome.com