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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值