public void run() {
		show(0);
		State board = new State();
		Player[] players = {new AlphaBetaPlayer(7), new MctsPlayer(500)};
		while (!board.gameOver()) {
			int move;
			if (board.getColorToPlay() == 'X') {
				draw(board, "Black to play. Click here if no legal move.", 0);
				move = players[0].move(board);
			} else {
				draw(board, "White to play. Click here if no legal move.", 0);
				move = players[1].move(board);				
			}
			if (board.legalMoves().contains(move)) {
				board.play(move);
			} else {
				System.out.println(move);
				draw(board, "Illegal move.", 1000);
			}
		}
		String result = "Game over. ";
		if (board.score() > 0) {
			result += "Black wins!";
		} else if (board.score() < 0) {
			result += "White wins!";
		} else {
			result += "Tie";
		}
		draw(board, result, 0);
	}