Ejemplo n.º 1
0
 def __proceed_group(self, group):
     i = 1
     while len(group) > 1:
         if i == len(group):
             #в группе нет игрока с которым текущий рассматриваемый
             #игрок может сыграть партию
             return False
         if not PlayersInGames.check_if_played(group[0].player, group[-i].player, self.__tour.tournament_id):
             p1_in_t = PlayersInTournament.objects.get(player_id = group[0].player.id,
                 tournament_id = self.__tour.tournament_id)
             p2_in_t = PlayersInTournament.objects.get(player_id = group[-i].player.id,
                 tournament_id = self.__tour.tournament_id)
             if p1_in_t.due_color + p2_in_t.due_color in range(-3,+4):
                 self.__create_game(group[0].player, group[-i].player,  self.__get_p1_color(group[0], group[-i]))
                 group.remove(group[0])
                 group.remove(group[-i])
                 i = 1
         else:
             i += 1
     if len(group) == 1:
         self.__popped_player = group.pop()
     return True