This commit is contained in:
@@ -1,27 +1,36 @@
|
||||
package sudoku;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @class Sudoku
|
||||
* @brief Représente une grille de sudoku avec N symboles
|
||||
*/
|
||||
public class Sudoku<S> {
|
||||
public class Sudoku {
|
||||
|
||||
private final List<Symbole<S>> symboles;
|
||||
private final List<Bloc<S>> blocs;
|
||||
private final List<Case<S>> cases;
|
||||
private final List<Bloc> blocs;
|
||||
private final List<Case> cases;
|
||||
|
||||
public Sudoku(List<Symbole<S>> symboles) {
|
||||
this.symboles = symboles;
|
||||
// initialisation des cases
|
||||
this.cases = new ArrayList<>(this.symboles.size() * this.symboles.size());
|
||||
Collections.fill(this.cases, new Case<>(null));
|
||||
// initialisation des blocs
|
||||
this.blocs = new ArrayList<>(this.symboles.size());
|
||||
Collections.fill(this.blocs, new Bloc<>(null));
|
||||
public Sudoku(List<Case> cases, List<Bloc> blocs) {
|
||||
// assert(symbolCount >= 2);
|
||||
// // initialisation des cases
|
||||
// this.cases = new ArrayList<>(symbolCount * symbolCount);
|
||||
// Collections.fill(this.cases, new Case());
|
||||
// // initialisation des blocs
|
||||
// this.blocs = new ArrayList<>(symbolCount);
|
||||
// Collections.fill(this.blocs, new Bloc(null));
|
||||
this.cases = cases;
|
||||
this.blocs = blocs;
|
||||
}
|
||||
|
||||
public Case getCase(int x, int y) {
|
||||
int index = y * getSize() + x;
|
||||
assert(index < getSize() * getSize());
|
||||
return this.cases.get(index);
|
||||
}
|
||||
|
||||
public int getSize() {
|
||||
return this.blocs.size();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user