大一上学期学习的内容之一,小黑屋比较好玩。
1.导入函数库
先导入random、time两个函数库的使用来达到随机生成人物、生成人物加载时间的目的。
1
2
|
import random
import time
|
2.创建列表
创建事件、资源、技能列表(可以自己思考然后加入你所认为需要的列表)。
1
2
3
|
event = [ "遇到饥寒交迫的人" ] #事件列表
source = [ "木材" , "肉" , "布" ] #资源列表
skill = [ "潜水" , "爬山" , "跳跃" ] #技能列表
|
3.创建函数
初始人物状态
1
2
|
def init(): #初始人物
person = { "hp" : 100 , "hungry" : 100 , "eq" : 50 , "skill" :" "," 木材 ":2," fire": 0 } #人的初始状态
|
在这里后面可以加上time函数库,使生成人物需要加载时间来让游戏更加真实。
1
2
3
4
5
6
7
8
|
time.sleep( 3 ) #停止运行3秒
print ( "人物生成中>>>>>>>>>50%" )
time.sleep( 2 ) #停止运行2秒
print ( "人物生成中>>>>>>>>>>>>>>>>>>>80%" )
time.sleep( 1 ) #停止运行1秒
print ( "人物生成中>>>>>>>>>>>>>>>>>>>>>>>>>>>100%" )
showperson(person)
return person
|
火堆燃烧状态
1
2
3
4
5
6
|
def fire(person):
person[ "木材" ] = person[ "木材" ] - 1
person[ "hungry" ] = person[ "hungry" ] - 20
person[ "fire" ] = 1
print ( "火堆燃起来了!" )
return person
|
遇到事件的可能性和状态(因为前面事件列表只写了一个,所以我这里的事件就只是遇到饥寒交迫的人,你们可以自行修改)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
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
|
人物现在的状态
1
2
|
def showperson(person):
print ( "你现在的状态是:" ,person)
|
调用函数
1
2
3
4
|
person = init()
person = fire(person)
person = playgame(person)
showperson(person)
|
结果如下:
或者
要注意导入函数库,还有只创建需要使用的函数,以便于后面函数的调用。
总结
到此这篇关于python实现小黑屋游戏的文章就介绍到这了,更多相关python小黑屋游戏内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/L_2376131723/article/details/112233823