package CSudoku.player.student; import CSudoku.board.CSudokuBoard; import CSudoku.board.Move; import CSudoku.player.MoveStrategy; import CSudoku.player.Player; import java.util.List; import java.util.ArrayList; import java.util.Random; public class StudentAI_group1 implements MoveStrategy { private final Random random = new Random(); @Override public Move selectMove(CSudokuBoard board, Player player) { List validMoves = new ArrayList<>(); for (int row = 0; row < board.getSize(); row++) { for (int col = 0; col < board.getSize(); col++) { if (board.isCellEmpty(row, col)) { for (int value = 1; value <= board.getSize(); value++) { Move move = new Move(row, col, value); if (player.isValidMove(board, move)) { validMoves.add(move); } } } } } if (validMoves.isEmpty()) return null; return validMoves.get(random.nextInt(validMoves.size())); } @Override public String getName() { return "Group1 Student"; } }