beaucoup
All checks were successful
Linux arm64 / Build (push) Successful in 1m47s

This commit is contained in:
2025-01-10 14:47:20 +01:00
parent 34cf7b5da8
commit 09ba8c00cb
13 changed files with 147 additions and 46 deletions

View File

@@ -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();
}
}