Files
Sudoku/app/src/main/java/sudoku/constraint/DiagonalConstraint.java
Persson-dev c16f2b8f5a
All checks were successful
Linux arm64 / Build (push) Successful in 37s
feat: dynamic constraints (Fixes #8)
2025-01-29 17:19:44 +01:00

25 lines
575 B
Java

package sudoku.constraint;
import sudoku.structure.Sudoku;
public class DiagonalConstraint implements IConstraint {
@Override
public boolean canBePlaced(Sudoku s, int x, int y, int newSymbolIndex) {
if (x == y) {
for (int i = 0; i < s.getSize(); i++) {
if (s.getCell(i, i).getSymbolIndex() == newSymbolIndex)
return false;
}
} else if (s.getSize() - x == y) {
for (int i = 0; i < s.getSize(); i++) {
if (s.getCell(s.getSize() - i - 1, i).getSymbolIndex() == newSymbolIndex)
return false;
}
}
// not in diagonal
return true;
}
}