Projet Java avancé TTT 2009-2010

Spider-Marne


Date de rendu : 18 avril 2010


I. Présentation

Le Spider-Marne est une réussite qui se joue avec deux jeux de 52 cartes. Au départ, les cartes sont mélangées et 54 cartes sont disposées en 10 tas de 5 ou 6 cartes, dont seule la première carte est retournée. Les 50 autres cartes toutes cachées forment la pioche en 5 tas de 10 cartes.

Une suite de cartes est un groupe de cartes découvertes, empilées les unes sur les autres, de même couleur (cœur, carreau, pique ou trèfle) consécutives, dont la plus petite est sur le dessus. Le but du jeu est de constituer des suites complètes allant du roi (la plus grande carte) à l'as (la plus petite).

On peut déplacer une suite située sur le haut d'un paquet, et la poser sur un autre paquet, à condition que la valeur de la carte sur laquelle on pose la suite soit exactement la valeur qui suit celle de la plus grande carte de la suite. Si la carte du dessus du paquet de départ est alors caché, elle est découverte.
Si un des 10 tas est vide, on peut y amener n'importe quelle suite.
Si aucun des 10 tas n'est vide, on peut tirer des cartes dans la pioche. On prend alors un tas de 10 cartes et on en pose une, découverte, sur chacun des tas.

Lorsqu'on forme une suite complète, celle-ci disparaît du jeu. On a gagné lorsque l'on a fait disparaître toutes les cartes.
On peut revenir en arrière d'autant de coups que l'on veut, mais on ne peut pas revenir sur l'action de tirer des cartes dans la pioche ou de former une suite complète.

Règle spéciale Une fois par partie, si une carte est la seule découverte de son tas, on peut la placer, face cachée au fond du tas et découvrir la carte suivate.
Le score est un entier relatif, on part de 0, on perd 1 point par déplacement, on gagne 100 points pour chaque suite complète, et, si on gagne en ayant rangé consécutivement les suites de même couleur, on a un bonus de 200 points.

II. Le programme

Vous pouvez organiser votre programme comme il vous plaît, ainsi que la présentation et l'ergonomie du jeu. Voici une suggestion d'organisation.

Note: Les images peuvent être manipulées grâce à la classe BufferedImage. Pour charger une image, il suffit d'utiliser la méthode statique ImageIO.read(FileInputStream input); sur un fichier image; pour l'afficher, Graphics contient une méthode drawImage(BufferedImage im, int x, int y, Color bg, ImageObserver obs);, dont on peut mettre les deux derniers arguments à null.

Des images de cartes. Vous pouvez utiliser les images de votre choix.

III. Rendu du projet

Le rendu du projet consiste en une archive zip contenant les sources du projet et des fichiers permettant de tester le projet, ainsi qu'un rapport en pdf. L'archive doit être nommée JavaTTTav_XXXX_YYYY.zipXXXX et YYYY sont les noms des auteurs du projet; le désarchivage doit créer un répertoire de même nom JavaTTTav_XXXX_YYYY dans lequel se trouvent tous les fichiers rendus.

Dans votre rapport :