python 小游戏

谁是卧底
谁是卧底也是深受很多人喜欢的游戏,起码要三人以上才能玩,大致分为几个阶段:
1.分配平民词语和卧底词语—>
2.玩家依次发言—>
3.根据发言投票认为谁是卧底—>
4.得到票数最多的玩家出局—>
5.出局玩家刚好是卧底则平民胜利,如果出局玩家是平民则被冤死并继续第2步,当剩下的平民只有1个时卧底胜利。
特殊情况是,出现两名或以上的玩家票数相同,则相同票数的玩家重新发言,然后全体针对这几个玩家投票。

class Wits(object):
    ''' 谁是卧底'''
    def __init__(self,num):
        self.num = num
        self.list1 = []
        self.under = None
    def distribution(self):
        '''
        对游戏人员生成列表并编号,并随机一个卧底
        '''
        for i in range (self.num):
            self.list1.append(i)
        self.under = random.choice(self.list1) # 随机一个卧底
    def weed_out(self):
        '''
        淘汰每轮出局的人,并得到最后结果
        '''
        while len(self.list1) > 2:  # 投票环节
            out = random.choice(self.list1)  # 每轮出局编号
            print('发言投票后。。',out,'号被出局')
            self.list1.remove(out)
            if out == self.under:
                break
        if self.under in self.list1:  # 如果剩下最后两个中 还有卧底 则卧底获胜
            print('卧底获胜')
        else:
            print('平民获胜')

if __name__ == '__main__':
    w1 = Wits(5)
    w1.distribution()
    w1.weed_out()

运行结果就是:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44166997/article/details/88665274