server.py 文件源码

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

项目:Hanabi-AI 作者: MeGotsThis 项目源码 文件源码
def draw_card(self, player: int) -> None:
        if self.nextDraw >= len(self.deck):
            return
        card: ServerCard = self.deck[self.nextDraw]
        if card.status != CardStatus.Deck:
            raise GameException('Bad Card Status', card.status)
        card.player = player
        card.status = CardStatus.Hand
        p: Game
        info: dict
        for p in self.players:
            info = {'type': 'draw',
                    'who': player,
                    'order': self.nextDraw}
            if p.botPosition != player:
                info['suit'] = card.suit.value
                info['rank'] = card.rank.value
            self.send('notify', info, player=p.botPosition)
        info = {'type': 'draw',
                'who': player,
                'order': self.nextDraw,
                'suit': card.suit.value,
                'rank': card.rank.value}
        self.log('notify', info)
        self.hands[player].append(self.nextDraw)
        self.nextDraw += 1
        if self.nextDraw >= len(self.deck):
            self.endTurn = self.turnCount + len(self.players)
        self.send('notify', {'type': 'draw_size',
                             'size': len(self.deck) - self.nextDraw})
        self.print(verbose="{} draws {} {}".format(
            names[player], card.suit.full_name(self.variant), card.rank.value))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号