Example #1
0
    def test_connect_three_you(self, current_play, passin_board, passin_log,
                               **kwargs):

        if not (current_play.player in self.connect_three_you): return -1

        available_plays = current_play.available_plays()

        current_player = copy.copy(current_play.player)
        other_player = 1 if current_player == 2 else 2

        list_blocking_plays = []
        for play_col_i in range(current_play.board.width):

            temp_play = Play(board = passin_board, \
                             state = copy.deepcopy(current_play.state), \
                             player_init = other_player)

            if not (play_col_i in available_plays): continue

            temp_play.make_play(play_col_i, switch_player=False)

            if temp_play.check_win(log=None):
                list_blocking_plays.append(play_col_i)

        if len(list_blocking_plays) > 0:
            if kwargs.get('ret_multi', False):
                return list_blocking_plays
            else:
                return list_blocking_plays[0]

        return -1
Example #2
0
    def test_connect_three_me(self, current_play, passin_board, passin_log,
                              **kwargs):

        if not (current_play.player in self.connect_three_me): return -1

        available_plays = current_play.available_plays()

        for play_col_i in range(current_play.board.width):

            temp_play = Play(board = passin_board, \
                             state = copy.deepcopy(current_play.state), \
                             player_init = copy.copy(current_play.player))

            if not (play_col_i in available_plays): continue

            temp_play.make_play(play_col_i, switch_player=False)

            if temp_play.check_win(log=None):
                return play_col_i

        return -1