Skip to content

ThomasGauci/Sudoku

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

projet-ThomasGauci

Sudoku

Le but de ce projet est de développer un jeu de Sudoku en mode texte, en utilisant Maven, GIT et JUnit.

GIT

Toute la gestion du code source se fait à travers GIT, en utilisant le dépot associé à la classroom GitHub. Les commits doivent se faire régulièrement et contenir un message de commit pertinent.

Branches

Le rendu final devra avoir au moins 3 branches. Attention à bien respecter le nom et la casse.

  • master qui contient la version finale du logiciel
  • bug qui contient une version où une grosse partie des tests unitaires échoue
  • dev qui contient des fonctionnalités expérimentales (voir après)

Maven

Le logiciel sera composé de 3 modules au minimum

  • IO : entrées-sorties sur le disque
  • GUI : entrées-sorties sur l'écran
  • Main : application Le projet devra être exécuté depuis Maven et il pourra être packagé sous forme de jar exécutable de nom sudokuV1.jar. Ce jar pourra prendre comme paramêtre un chemin vers un fichier contenant la grille. Si aucun paramêtre, il chargera une grille depuis resources.

Tests Unitaires

Toutes les classes méthodes devront être testées avec JUnit.

Fonctionnalités attendues

Branche master

La grille de Sudoku est de taille 9x9 et chaque case peut contenir un chiffre entre 1 et 9. Elle est subdivisée et 9 zones de taille 3x3. Le but est d'avoir dans chaque zone, sur chaque ligne et chaque colonne chaque chiffre une unique fois.

  • L'affichage de la grille se fait en mode texte en utilisant une bibliothèque comme Java ASCII Render. Après chaque coup la grille peut être complètement affichée de nouveau.
  • Le joueur indique par 3 chiffres sans espaces le coup à jouer. Par exemple 123 indique la ligne 1, la colonne 2, et mettre la valeur 3. Les lignes sont numérotées de haut en bas.
  • Chaque fois qu'un nombre est proposé, il est vérifié et le logiciel affiche un message si il est incorrect.
  • Une grille peut être spécifiée sous forme de fichier texte. Une ligne de texte par ligne de la grille. Une case sans valeur sera représentée par '_'
  • Une grille peut être sauvegardée sous forme de fichier texte en tapant save nom plutôt qu'un nombre et chargée en tapant load nom.

Branche dev

Dans cette branche se trouvera une version du jeu permettant de revenir en arrière. Il devra être possible d'annuler les coups avec la commande 'b' (back). Chaque commande annulera le dernier coup joué. Tous les coups joués depuis le début de la partie devront pouvoir être annulés.


Usage

Ouvrir un terminal et executer:

  1. git clone https://github.com/Master1-MIAGE-UCA/projet-ThomasGauci
  2. cd Sudoku
  3. mvn clean install
  4. cd Main
  5. mvn assembly:single
  6. cd ..
  7. java -jar Main/target/SudokuV1.jar (Lancement du jeu avec une grille ressource )
  8. java -jar Main/target/SudokuV1.jar /Users/thomasgauci/Desktop/loadsapropregrille.txt (Lancement du jeu avec une grille personnalisée )

Technologies et méthodes déployées

JAVA

Maven Project

JUnit

Notre équipe

Professeur encadrant : M. Fabrice HUET

License

MIT

Copyright (c) 2019-present, GAUCI Thomas

About

Projet Sudoku M1

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages