Projet rummikub

2510 mots 11 pages
ntroduction
Le but de ce projet et de concevoir, en C++, un programme simulant une partie de
Rummikub, un jeu de société basé sur les règles du Rami. Le Rummikub est un jeu de société pour deux, trois ou quatre joueurs, qui se joue avec des jetons rectangulaires (tuiles). Les règles sont très voisines du jeu de carte du Rami. Rummy signifie d'ailleurs « Rami » en anglais.
Il est aussi très proche par ses règles, mais aussi par son matériel, d'un jeu traditionnel turc appelé
Okey. Bien qu'il se joue avec des tuiles épaisses en plastique, on peut le classer dans la catégorie des jeux de cartes traditionnels puisque ces tuiles représentent en fait comme au Rami deux jeux de 54 cartes, les cartes de Valets, Dame et Roi étant remplacées par des tuiles 11, 12 et 13.
Il y a un chevalet par joueur pour ranger son jeu, et 106 tuiles avec deux critères : la valeur de 1 à
13 en double, et 4 couleurs. Deux tuiles sont des jokers.
Pour plus d'informations : http://fr.wikipedia.org/wiki/Rummikub
N.B : dans cette version les jokers ne sont pas gérés, il y a donc 104 tuiles.
Analyse
Pour réussir dans la programmation de ce projet, il a fallu au préalable étudier les différentes possibilités d'architecture du programme et imaginer les interactions homme-machine lors d'une phase de jeu. Le jeu se joue au clavier (le développement d'une interface QT a été abandonnée en raison de la complexité de mise en oeuvre) et chaque joueur se voit proposer des options correspondant aux différentes possibilités qui s'offrent à lui lorsque c'est à son tour de jouer. Au niveau de la structure du code, l'intérêt est d'exploiter au mieux les possibilités offertes par la POO.
Il s'agit donc de former de façon judicieuse des classes et les relations entre les classes pour fabriquer un programme stable, clair et correctement structuré pour pouvoir faire l'objet d'optimisation futures.
Voici un diagramme de classe illustrant l'architecture générale du code :
Conception
Classe Jeu

en relation