Esempio n. 1
0
                    self.board[position] = player
                    break

            except TypeError:
                print('Por insira um digito de 1 a 9\n')
            except ValueError:
                print('Posição inválida\n')

        return position


if __name__ == '__main__':
    turn_player_x = False
    game = TicTacToe()
    computer = MinMax(game, ('O', 'X'))
    computer2 = MinMax(game, ('X', 'O'))

    while not game.is_over():
        print(game)

        if turn_player_x:
            best_move = computer2.get_decision(game, computer2.players)
            game.move(best_move, 'x')
        else:
            best_move = computer.get_decision(game, computer.players)
            game.move(best_move, 'O')

        turn_player_x = not turn_player_x

    print(game.result())
Esempio n. 2
0
            if player2.upper() == 'X':
                player1 = 'O'
                position = pickle.loads(recv_msg(conn))

                game.move(position, 'X')
                print(game)
            else:
                player1 = 'X'

            if ai.upper() == 'A':
                pc = MinMax(game, (player1, player2))

            while not game.is_over():
                print(game)
                if pc is not None:
                    position_player = pc.get_decision(game, pc.players)
                    game.move(position_player, player1)
                else:
                    position_player = game.turn(player1)

                send_msg(conn, pickle.dumps(position_player))
                print(game)
                if game.is_over():
                    break

                position_enemy = pickle.loads(recv_msg(conn))
                game.move(position_enemy, player2)

            print(game.result())