Cahier des charges

Version Auteur Description
1.0 (19.01.2007 – 17:00) C. Benoit Version initiale
1.1 (31.08.2007 – 23:00) C. Benoit Définition de la variante

Le Yams est un jeu de dés. Il se joue à plusieurs joueurs et avec 5 dés. Plutôt que de gérer les scores avec un crayon et un papier, l’idée est venue de développer un jeu complet de Yams sur ordinateur.

Le projet Yams est donc né, c’est dans un premier temps un projet personnel, destiné à avoir un programme jouable par toute la famille. L’avenir dira si le développement de ce jeu est élargi à une équipe plus professionnelle et si ce jeu sera distribué à un plus large cercle qu’une petite famille de Suisse, en tant que logiciel libre ou bien sous licence GNU ou autre.

Objectifs

L’objectif est de développer un jeu de Yams en Java. La réalisation de ce projet doit être complète :

  • Documentation (cahier des charges, spécifications techniques, guide utilisateur)
  • Implémentation du jeu en lui-même
  • Assemblage automatisé du logiciel

L’objectif final est d’avoir un jeu de Yams, ayant une interface graphique, pouvant se jouer à plusieurs, en réseau et avec des joueurs dirigés par l'ordinateur.

Environnement

L’équipe initiale se compose de 2 personnes :

  • un client testeur: ce futur joueur aide à la définition du cahier des charges et de l’interface graphique. Il évalue régulièrement les fonctionnalités et la documentation utilisateur du jeu et propose des corrections et améliorations pour celles-ci.
  • un développeur : celui-ci réalise toute la partie technique, documentation comprise.

Par la suite, l’équipe pourra être renforcée : développeurs, graphistes, testeurs, etc. Tous dans un esprit ludique.

Calendrier

Le projet doit délivrer des versions du jeu proposant successivement des améliorations. Les principales étapes sont les suivantes :

Version 1
Interface simple (ligne de commande), moteur avec calcul des scores et lancé des dés automatique
Version 2
Interface graphique, moteur avec gestion des scores
Version 3
Joueur(s) dirigé(s) par l’ordinateur
Version 4
Jeu en réseau

Règles du jeu

Chaque joueur lance les dés lorsque vient son tour. Son but est, à l'aide des cinq dés, de réaliser une figure (5 dés identiques, une paire, un triplet, ...). Pour réaliser cette figure, il a le droit à trois jets de dés par tour, et il est à chaque jet libre de les relancer tous, ou juste ceux de son choix.

Le gagnant est celui qui a fait le plus de points, certaines figures donnant des points supplémentaires si elles sont réussies.

Chaque joueur dispose d'une feuille de score sur laquelle est inscrit la liste des figures qu'il doit réaliser. A chaque tour, une case doit nécessairement être remplie, avec le score correspondant. Par exemple le résultat au dé: (3,3,3,2,2) peut être inscrit dans les deux avec 4 points, dans les trois 9 points, full avec 30 points, etc. On peut être obligé ou choisir par tactique de remplir une case qui ne convient pas (avec le jet précédent, la case '5 dés identiques' par exemple), on y met alors le score 0. On ne peut plus ensuite revenir sur une case remplie.

La feuille de score est divisée en trois parties. Voici les parties de la feuille de score :

Combinaison Points
As le nombre de dés 1 obtenus
Deux le nombre de dés 2 obtenus
Trois le nombre de dés 3 obtenus
Quatre le nombre de dés 4 obtenus
Cinq le nombre de dés 5 obtenus
Six le nombre de dés 6 obtenus
Sous-total Somme des points obtenus ci-dessus
Prime 30 points si le sous-total est supérieur ou égal à 60 points
Total I Somme du sous-total et de l'éventuelle prime
Partie supérieure
Combinaison Description Points
Maximum Faire le maximum de points avec les 5 dés Somme des valeurs des 5 dés
Minimum Faire le minimum de points avec les 5 dés Somme des valeurs des 5 dés
Total II Maximum - Minimum
Partie intermédiaire

C'est sur la dernière partie que les nombreuses versions du Yam's diffèrent. Seule la variante suivante sera disponible dans ce jeu:

Combinaison Description Points
Carré Quatre dés identiques 20 points
Full Trois dés identiques + deux dés identiques 30 points
Suite Quatre dés dont les chiffres se suivent 40 points
Yam's Cinq dés identiques 70 points
Partie inférieure

Exigences

Les exigences sont classifiées par degré. Le degré n’indique pas la version qui doit satisfaire cette exigence mais quelle importance est accordée à celle-ci.

Toutes les exigences de degré 1 devront être satisfaites au plus tard dans la version finale du jeu. La spécification prendra en compte les exigences de degré 2, qui seront implémentées dans la mesure du possible. Les exigences de degré 3 seront satisfaites si la technique le permet de façon simple et rapide.

  • [<Exigence > - <Degré >] - <Description >
  • [E001 - 1] - Le déroulement du jeu doit être conforme aux règles définies dans le chapitre décrivant les règles du jeu .
  • [E100 - 1] - Le logiciel doit être écrit en Java, et être exécuté avec Java 5 (ou supérieur).
  • [E201 - 1] - L’interface simple (ligne de commande) doit être disponible en français.
  • [E202 - 2] - L’interface graphique du jeu doit être multilingue.
  • [E203 - 1] - L’interface graphique du jeu doit être disponible en français.
  • [E301 - 2] - Les joueurs doivent pouvoir jouer en réseau.
  • [E401 - 1] - Le nombre total de joueurs d’une partie doit pouvoir être configurable (minimum 2 joueurs).
  • [E402 - 1] - Au moins un joueur humain doit prendre part à une partie.
  • [E501 - 1] - Le jeu doit proposer de diriger un ou plusieurs joueurs.
  • [E502 - 3] - Une partie doit pouvoir être interrompue, sauvegardée puis repris là où elle a été interrompue.
  • [E204 - 2] - Les règles du jeu doivent être embarquées dans le programme (consultables directement dans le programme de jeu).