Files
Sudoku/app/src/main/java/sudoku/MultiDoku.java
fl.du.pr Grens e19a9c7b27
All checks were successful
Linux arm64 / Build (push) Successful in 1m5s
update validity dokus
2025-01-21 22:05:16 +01:00

54 lines
1.1 KiB
Java

package sudoku;
import sudoku.constraint.IConstraint;
import java.util.ArrayList;
import java.util.List;
/**
* @class MultiDoku
* @brief Représente une grille de Multidoku.
* Une grille de sudoku est un multidoku avec un seul sous-sudoku
*/
public class MultiDoku {
private final List<Sudoku> subGrids;
public MultiDoku(List<Sudoku> subGrids) {
this.subGrids = subGrids;
}
public int getNbSubGrids(){
return subGrids.size();
}
public Sudoku getSubGrid(int i){
return subGrids.get(i);
}
public List<MutableCell> getMutableCells(){
List<MutableCell> mutableCells = new ArrayList<>();
for (Sudoku sudoku : subGrids){
mutableCells.addAll(sudoku.getMutableCells());
}
return mutableCells;
}
public void updateSymbolsPossibilities() throws Exception {
for (Sudoku sudoku : subGrids){
sudoku.updateSymbolsPossibilities();
}
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("Multidoku {");
for (Sudoku sudoku : subGrids){
sb.append("\n\t").append(sudoku.toString());
}
sb.append("\n}");
return sb.toString();
}
}