示例#1
0
def start_game(game_uid, championship, stage):
    game = Game.fetch(uid=game_uid)
    log.debug("Starting Game: {}".format(game.name))
    ga = GameActor(game, championship, stage)
    ga.start()
    game_actor_map[game.uuid] = ga
    ga.join()
示例#2
0
    def prepare_next_round(self):
        #clear remaining queue items
        self.inbox_a.queue.clear()
        self.inbox_d.queue.clear()
        self.round_no += 1

        if self.winner_uid == self.defender_uid:
            if Round.number_of_wins(self.game_uid, self.defender_uid) >= 5:
                self.game_over = True
                self.loser_uid = self.attacker_uid
            #switch_roles
            self.attacker_uid, self.defender_uid = self.defender_uid, self.attacker_uid
        else:
            if Round.number_of_wins(self.game_uid, self.attacker_uid) >= 5:
                self.game_over = True
                self.loser_uid = self.defender_uid

        if self.game_over:
            game = Game.fetch(uid=self.game_uid)
            game.winner_uid = self.winner_uid
            game.save()
            game = Game.fetch(uid=self.game_uid)
            log.debug("Winner: {}".format(game.winner_uid))