This commit is contained in:
Adrien DICK 2024-04-03 12:25:19 +02:00
parent 3c29242a61
commit 1333177f88
10 changed files with 56 additions and 26 deletions

Binary file not shown.

Binary file not shown.

View File

@ -36,8 +36,12 @@ public class Enter extends JPanel {
String valueStr = JOptionPane.showInputDialog(null, "Enter value for the selected cell:");
try {
int value = Integer.parseInt(valueStr);
if (isValidValue(value, selectedRow, selectedCol)) {
grid[selectedRow][selectedCol] = value;
repaint();
} else {
JOptionPane.showMessageDialog(null, "Not possible.");
}
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "Invalid input. Please enter a number.");
}
@ -53,6 +57,34 @@ public class Enter extends JPanel {
return initialGrid;
}
private boolean isValidValue(int value, int row, int col) {
// Vérifier la ligne
for (int i = 0; i < grid[row].length; i++) {
if (grid[row][i] == value && i != col) {
return false;
}
}
// Vérifier la colonne
for (int i = 0; i < grid.length; i++) {
if (grid[i][col] == value && i != row) {
return false;
}
}
// Vérifier la région
int regionRow = row / REGION_SIZE * REGION_SIZE;
int regionCol = col / REGION_SIZE * REGION_SIZE;
for (int i = regionRow; i < regionRow + REGION_SIZE; i++) {
for (int j = regionCol; j < regionCol + REGION_SIZE; j++) {
if (grid[i][j] == value && (i != row || j != col)) {
return false;
}
}
}
return true;
}
@Override
protected void paintComponent(Graphics g) {
@ -84,7 +116,5 @@ public class Enter extends JPanel {
}
}
}
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.