doc : Block, Cell, Coordiante, MultiDoku
Some checks failed
Linux arm64 / Build (push) Has been cancelled
Some checks failed
Linux arm64 / Build (push) Has been cancelled
This commit is contained in:
@@ -3,13 +3,35 @@ package sudoku.structure;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Représente une case d'un, ou plusieurs, sudoku qui à comme valeur un index de symbole.
|
||||
* Celui ci pourra être remplacer par un symbole en temps voulu.
|
||||
*/
|
||||
public class Cell {
|
||||
|
||||
/**
|
||||
* Constante de valeur d'index de symbole quand il n'y en a pas,
|
||||
* soit que la Cell est vide.
|
||||
*/
|
||||
public static int NOSYMBOL = -1;
|
||||
|
||||
/**
|
||||
* Block dans lequel est la Cell.
|
||||
*/
|
||||
private Block blockContainer;
|
||||
/**
|
||||
* L'index du symbole que contient la Cell.
|
||||
* Il est initialisé à Cell.NOSYMBOL.
|
||||
*/
|
||||
private int symbolIndex = Cell.NOSYMBOL;
|
||||
/**
|
||||
* Liste des index de symbole possibles pour cette Cell,
|
||||
* en fonction des contraintes de sudoku dans lequel elle est.
|
||||
*/
|
||||
private final List<Integer> possibleSymbols;
|
||||
/**
|
||||
* Si cette Cell peut être modififié ou non.
|
||||
*/
|
||||
private boolean isMutable = true;
|
||||
|
||||
public Cell() {
|
||||
@@ -40,6 +62,9 @@ public class Cell {
|
||||
this.possibleSymbols.addAll(possibleSymbols);
|
||||
}
|
||||
|
||||
/**
|
||||
* Rend la Cell immuable.
|
||||
*/
|
||||
public void setImmutable() {
|
||||
this.isMutable = false;
|
||||
}
|
||||
@@ -62,6 +87,10 @@ public class Cell {
|
||||
return i;
|
||||
}
|
||||
|
||||
/**
|
||||
* Renvoie si la Cell est vide ou non.
|
||||
* @return boolean, true si la Cell est vide, false sinon.
|
||||
*/
|
||||
public boolean isEmpty() {
|
||||
return this.symbolIndex == Cell.NOSYMBOL;
|
||||
}
|
||||
@@ -74,10 +103,18 @@ public class Cell {
|
||||
return this.possibleSymbols;
|
||||
}
|
||||
|
||||
/**
|
||||
* Renvoie si la Cell est modifiable
|
||||
* @return boolean, true si elle est modifiable ou false sinon.
|
||||
*/
|
||||
public boolean isMutable() {
|
||||
return this.isMutable;
|
||||
}
|
||||
|
||||
/**
|
||||
* Vide la Cell, en renvoie l'ancien index du symbole qui était dedans.
|
||||
* @return int, index du symbole anciennement contenue dans la Cell.
|
||||
*/
|
||||
public int empty() {
|
||||
int oldSymbol = this.symbolIndex;
|
||||
this.symbolIndex = Cell.NOSYMBOL;
|
||||
|
||||
Reference in New Issue
Block a user