示例#1
0
 def get_next_pair(config, cur_pair, cur_turn):
     if cur_pair.explaining + 1 == config.number_players:
         return Pair(0, AVA.get_round_shift(config, cur_turn))
     return Pair(
         (cur_pair.explaining + 1) % config.number_players,
         (cur_pair.explaining + AVA.get_round_shift(config, cur_turn) + 1) %
         config.number_players)
示例#2
0
文件: shlyapa.py 项目: ushakov/thehat
 def __init__(self, config):
     self.config = config
     self.__tours = []
     self.__cur_turn = 0
     # First pair in sequence of pairs who have not play yet
     self.__next_pair = Pair()
     self.__number_explained_words = 0
     self.__alg = self.config.type()
     self.__next_pair = self.__alg.get_start_pair(self.config)
示例#3
0
    def get_next_pair(config, cur_pair, cur_turn):
        round_shift = AVAF.get_round_shift(config, cur_turn)

        is_less_than_two_blocks = int(config.number_players /
                                      (2 * round_shift)) == 0

        block_size = config.number_players % round_shift if is_less_than_two_blocks else round_shift

        is_in_even_block = 0 <= cur_pair.explaining % (2 *
                                                       block_size) < block_size
        is_last_in_block = cur_pair.explaining % block_size == block_size - 1

        if not is_last_in_block and cur_pair.explaining + 1 < config.number_players:
            return Pair((cur_pair.explaining + 1) % config.number_players,
                        (cur_pair.guessing + 1) % config.number_players)
        if is_last_in_block and cur_pair.explaining + block_size + 1 < config.number_players:
            return Pair(
                (cur_pair.explaining + block_size + 1) % config.number_players,
                (cur_pair.guessing + block_size + 1) % config.number_players)
        if is_in_even_block:
            return Pair(block_size,
                        (block_size + round_shift) % config.number_players)
        return Pair(0, (round_shift + 1 + config.number_players - 2) %
                    (config.number_players - 1) + 1)
示例#4
0
 def __init__(self, pair=Pair(), number_explained=0):
     self.pair = Pair(pair.explaining, pair.guessing)
     self.number_explained = number_explained
示例#5
0
 def get_start_pair(config):
     return Pair(0, 1)
示例#6
0
 def get_next_pair(config, cur_pair, cur_turn):
     return Pair((cur_pair.explaining + 1) % config.number_players,
                 (cur_pair.guessing + 1) % config.number_players)
示例#7
0
 def get_start_pair(config):
     return Pair(0, int(config.number_players / 2))