fix : MultiDoku.getCells
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package sudoku.structure;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import sudoku.io.SudokuSerializer;
|
||||
|
||||
@@ -49,11 +51,11 @@ public class MultiDoku {
|
||||
* @return List<Cell>
|
||||
*/
|
||||
public List<Cell> getCells(){
|
||||
List<Cell> cells = new ArrayList<>();
|
||||
Set<Cell> cellsSet = new HashSet<>();
|
||||
for (Sudoku sudoku : subGrids){
|
||||
cells.addAll(sudoku.getCells());
|
||||
cellsSet.addAll(sudoku.getCells());
|
||||
}
|
||||
return cells;
|
||||
return new ArrayList<>(cellsSet);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -111,10 +113,10 @@ public class MultiDoku {
|
||||
* Check si le MultiDoku est valide, en fonction de ses sous-Sudokus.
|
||||
* @return boolean, true s'il est valide et false sinon.
|
||||
*/
|
||||
public boolean isValid() {
|
||||
public boolean isSolved() {
|
||||
boolean result = true;
|
||||
for (Sudoku sudoku : this.subGrids) {
|
||||
result = sudoku.isValid() && result;
|
||||
result = sudoku.isSolved() && result;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -191,14 +193,17 @@ public class MultiDoku {
|
||||
cellToEmpty.setSymbolIndex(Cell.NOSYMBOL);
|
||||
}
|
||||
|
||||
/**
|
||||
* Renvoie le nombre de Cell contenue dans le MultiDoku.
|
||||
* @return int, nombre de Cell dans le MultiDoku.
|
||||
*/
|
||||
public int getNbCells() {
|
||||
int result = 0;
|
||||
for (Sudoku sudoku : this.subGrids) {
|
||||
result += sudoku.getCells().size();
|
||||
}
|
||||
return result;
|
||||
return getCells().size();
|
||||
}
|
||||
|
||||
/**
|
||||
* Change les Cells de ce MultiDoku avec des symboles, en Cells immuables.
|
||||
*/
|
||||
public void setFilledCellsImmutable() {
|
||||
for (Cell filledCell : getFilledCells()) {
|
||||
filledCell.setImmutable();
|
||||
|
||||
Reference in New Issue
Block a user