russianroulette.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:Jumper-Cogs 作者: Redjumpman 项目源码 文件源码
def roulette_round(self, settings, server, players, turn):
        roulette_circle = players[:]
        chamber = 6
        await self.bot.say("*{} put one round into the six shot revolver and gave it a good spin. "
                           "With a flick of the wrist, it locks in place."
                           "*".format(self.bot.user.name))
        await asyncio.sleep(4)
        await self.bot.say("Let's begin round {}.".format(turn))
        while chamber >= 1:
            if not roulette_circle:
                roulette_circle = players[:]  # Restart the circle when list is exhausted
            chance = random.randint(1, chamber)
            player = random.choice(roulette_circle)
            await self.bot.say("{} presses the revolver to their temple and slowly squeezes the "
                               "trigger...".format(player.name))
            if chance == 1:
                await asyncio.sleep(4)
                msg = "**BOOM**\n```{} died and was removed from the group.```".format(player.name)
                await self.bot.say(msg)
                msg2 = random.choice(kill_message)
                settings["Players"].pop(player.id)
                remaining = [server.get_member(x) for x in list(settings["Players"].keys())]
                player2 = random.choice(remaining)
                death_time = strftime("%H:%M:%S", gmtime())
                await asyncio.sleep(5)
                await self.bot.say(msg2.format(player.name, player2.name, death_time))
                await asyncio.sleep(5)
                break
            else:
                await asyncio.sleep(4)
                await self.bot.say("**CLICK**\n```{} survived and passed the "
                                   "revolver.```".format(player.name))
                await asyncio.sleep(3)
                roulette_circle.remove(player)
                chamber -= 1
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号