private void requestMove() { char c = ' '; int mills = 0; // Request point from player while (c == ' ') { // Check if it's a computer's turn if (players[playerTurn] instanceof Computer) { // It's a computer // Get input from Computer if (players[playerTurn].getColour() == PlayerColour.BLACK) { c = ((Computer) players[playerTurn]).getMove(board, PointState.BLACK); } else { c = ((Computer) players[playerTurn]).getMove(board, PointState.WHITE); } System.out.println(players[playerTurn].getName() + " zet een pion op punt " + c); } else { // It's not a computer // Request input from player System.out.println(players[playerTurn].getName() + ", geef het punt waar je een pion wilt zetten: "); c = makeChar(io.read().toUpperCase()); } if (c != ' ') { if (board.getPoint(c).isFree()) { // Assign colour to the point if (players[playerTurn].getColour() == PlayerColour.WHITE) { board.setPointWhite(c); mills = board.hasMills(c, PointState.WHITE); } else { board.setPointBlack(c); mills = board.hasMills(c, PointState.BLACK); } } else { System.out.println("*** Dat punt is bezet ***"); c = ' '; } } else { System.out.println("*** Dat punt bestaat niet ***"); } } while (mills > 0) { takePoint(); mills--; } changeTurn(); }