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 subGrids; public MultiDoku(List subGrids) { this.subGrids = subGrids; } public int getNbSubGrids(){ return subGrids.size(); } public Sudoku getSubGrid(int i){ return subGrids.get(i); } public List getMutableCells(){ List 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(); } }