当前位置 博文首页 > LY的博客:python 侦探推理小游戏 ,通过角色和所在房间的关系,
#输入代码
import random
YNAMES = ["A", "B", "C", "D", "E"]
ROOM=[1,2,3,4,5]
MUR=random.choice(YNAMES)
DICT_ROOM={1:[] ,
2: [],
3: [],
4: [],
5:[]
}
times = 1
# 初始化
flag=1
while flag==1:
DICT_ROOM[1].append([])
DICT_ROOM[2].append([])
DICT_ROOM[3].append([])
DICT_ROOM[4].append([])
DICT_ROOM[5].append([])
for person in YNAMES:
no = random.choice(ROOM)
if person == MUR:
# 记录room
room_now = no
DICT_ROOM[no][times - 1].append(person)
empty_room = ''
one_room = ''
for roomno in list(DICT_ROOM.keys()):
if len(DICT_ROOM[roomno][times - 1]) == 0:
# 记录空room
empty_room = roomno
if len(DICT_ROOM[roomno][times - 1]) == 1 and MUR not in DICT_ROOM[roomno][times - 1]:
# 记录dan ren room
one_room = roomno
if len(DICT_ROOM[room_now][times - 1]) == 2:
if random.randint(1, 100) >= 50:
# do
DICT_ROOM[room_now][times - 1].remove(MUR)
DICT_ROOM[empty_room][times - 1].append(MUR)
print(DICT_ROOM[room_now][times - 1][0] + ' is killed')
YNAMES.remove(DICT_ROOM[room_now][times - 1][0])
else:
pass
elif one_room != '' and len(DICT_ROOM[room_now][times - 1]) == 1:
# do
KILLED = DICT_ROOM[one_room][times - 1][0]
print(KILLED + ' is killed')
YNAMES.remove(KILLED)
print ('ROOM1: '+str(DICT_ROOM[1]))
print ('ROOM2: '+str(DICT_ROOM[2]))
print ('ROOM3: '+str(DICT_ROOM[3]))
print ('ROOM4: '+str(DICT_ROOM[4]))
print ('ROOM5: '+str(DICT_ROOM[5]))
jieguo=input('WHO IS KILLER?,MUST ENTER A/B/C/D/E,input - means u donnot judge')
if jieguo==MUR:
print ('CORRECT')
flag=0
elif jieguo=='-':
print ('U DONNOT JUDGE THAT WHO IS THE KILLER')
flag=1
else:
print ('U kill'+jieguo+',GAME CONTINUES')
YNAMES.remove(jieguo)
times+=1
if len(YNAMES)==1:
print ('END,U LOSS,KILLER IS '+MUR)
flag=0
cs