diff --git a/README.md b/README.md index 3bf5bec..0290442 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,16 @@ # Sudoku +ALESSI Thibaut & ROGER Gwendal +## Diagramme des classes +![imagedc](conception_uml/diagramme_classes_multidoku.svg) + +## Cahier des charges +La partie Génération ne fait pas partie de notre tronc commun. +![imagecdc](enonce_png/1.png) +![imagecdc](enonce_png/2.png) +![imagecdc](enonce_png/3.png) +![imagecdc](enonce_png/4.png) +![imagecdc](enonce_png/5.png) +![imagecdc](enonce_png/6.png) +![imagecdc](enonce_png/7.png) +![imagecdc](enonce_png/8.png) \ No newline at end of file diff --git a/conception_uml/diagramme_classes_multidoku.svg b/conception_uml/diagramme_classes_multidoku.svg new file mode 100644 index 0000000..3843419 --- /dev/null +++ b/conception_uml/diagramme_classes_multidoku.svg @@ -0,0 +1,3 @@ + + +

contient

contient

utilise

contient

utilise

contient

contient

contient

agit_sur

agit_sur

implémente

implémente

utilise

implémente

implémente

implémente

implémente

implémente

implémente

1
1
1
1
1
1
1
1
1
1
1
1
N
*
*
*
N*N
N
1
1
1

Sudoku

+grille : Grille

+blocs : List<Bloc>

+contraintes : List<Contrainte>

+rentrerSudoku() : void

+resoudre(resolveur : Resolveur) : boolean

+ajouterContrainte(contrainte : Contrainte) : void

MultiDoku

+sudokus : List<Sudoku>

+contraintesPartage : List<ContraintePartage>

+resoudre(resolveur : Resolveur) : boolean

+ajouterContraintePartage(contrainte : ContraintePartage) : void

Grille

+taille : int // N×N

+cases : Symbole[taille][taille]

+afficherGrille() : void

+estValide() : boolean

+getValeursPossibles(x : int, y : int) : List<Symbole>

Bloc

+cases : List<Case>

+estValide() : boolean

«interface»

Contrainte

+estRespectee(grille : Grille, case : Case) : boolean

ContrainteLigne

+estRespectee(grille : Grille: case : Case) : boolean

ContrainteColonne

+estRespectee(grille : Grille: case : Case) : boolean

ContrainteBloc

+estRespectee(grille : Grille: case : Case) : boolean

«interface»

ContraintePartage

+estRespectee(case : Case) : boolean

ContrainteLignePartage

-casesPartagees : List<Case>

+estRespectee(case : Case) : boolean

ContrainteColonnePartage

-casesPartagees : List<Case>

+estRespectee(case : Case) : boolean

ContrainteBlocPartage

-casesPartagees : List<Case>

+estRespectee(case : Case) : boolean

«interface»

Resolveur

+resoudre(sudoku : Sudoku) : boolean

+resoudre(multidoku : MultiDoku) : boolean

ResolveurRegles

+resoudre(sudoku : Sudoku) : boolean

+resoudre(multidoku : MultiDoku) : boolean

ResolveurBacktrace

+backtrace : Backtrace

+resoudre(sudoku : Sudoku) : boolean

+resoudre(multidoku : MultiDoku) : boolean

Case

+valeur : Symbole

+x : int

+y : int

Symbole

+valeur : char

+equals(symbole : Symbole) : boolean

Backtrace

+pile : Stack<Case>

+explorer(cases : List<Case>) : boolean

\ No newline at end of file diff --git a/enonce_png/1.png b/enonce_png/1.png new file mode 100644 index 0000000..495dff1 Binary files /dev/null and b/enonce_png/1.png differ diff --git a/enonce_png/2.png b/enonce_png/2.png new file mode 100644 index 0000000..a3c81df Binary files /dev/null and b/enonce_png/2.png differ diff --git a/enonce_png/3.png b/enonce_png/3.png new file mode 100644 index 0000000..32ea9b8 Binary files /dev/null and b/enonce_png/3.png differ diff --git a/enonce_png/4.png b/enonce_png/4.png new file mode 100644 index 0000000..fa2a295 Binary files /dev/null and b/enonce_png/4.png differ diff --git a/enonce_png/5.png b/enonce_png/5.png new file mode 100644 index 0000000..e7b4f40 Binary files /dev/null and b/enonce_png/5.png differ diff --git a/enonce_png/6.png b/enonce_png/6.png new file mode 100644 index 0000000..69fcaae Binary files /dev/null and b/enonce_png/6.png differ diff --git a/enonce_png/7.png b/enonce_png/7.png new file mode 100644 index 0000000..778f8f9 Binary files /dev/null and b/enonce_png/7.png differ diff --git a/enonce_png/8.png b/enonce_png/8.png new file mode 100644 index 0000000..6ac1944 Binary files /dev/null and b/enonce_png/8.png differ