Rapport projet en c : jeu piege
AILANE Sami CADIN Justine
Groupe 3
Compte rendu Projet C 1ère année Polytech’Paris-Sud – Cycle Ingénieur 20 décembre 2009
Sujet : Jeu pièges
Objectif du projet : réalisation du jeu « pièges » en langage C
Responsable de projet : Mme Van Oanh Nguyen Thi
page 1 / 5
________________________________________________________
Polytech’Paris-Sud – Université Paris-Sud Maison del’Ingénieur, Bâtiment 620, 91405 ORSAY CEDEX Téléphone : +33 (0)1.69.33.86.11.page 1
Pour commencer voici le principe général du jeu. Le jeu « Pièges » se joue de deux à quatre joueurs. Chaque joueur place quatre billes sur un plateau de jeu de dimension 7 x 7. Chaque joueur bouge à tour de rôle une des tirettes situées sur les quatre coté du plateau de jeu dans le but de faire tomber des billes duplateau. Lorsqu’un joueur n’a plus de bille sur le plateau de jeu, il est éliminé. Le gagnant est le dernier à avoir encore une ou plusieurs billes sur le plateau de jeu. Diverses solutions techniques retenues Le plateau de jeu Le plateau de jeu est en fait constitué de 2 niveaux. Un des niveaux correspond aux languettes horizontales et l’autre aux languettes verticales. Lorsque l’on tirera unelanguette horizontale cela aura une incidence uniquement sur le plateau horizontal (« plateauhor » dans le projet). Et dans le cas d’une languette verticale seul le plateau vertical sera modifié. Dans le projet ces 2 plateaux ne contiennent pas de billes. Les billes sont placées sur un plateau résultant (‘plateau’ dans le code ) du plateau horizontal et du plateau vertical. Pour comprendre lefonctionnement de ce plateau résultant on prend un exemple avec une case. Si dans cette case, un des deux plateaux ou les deux (horizontal ou/et vertical) contient une case pleine (un ‘1’), alors la case correspondante sur le tableau résultant sera une case pleine. Et dans le cas de deux trous (‘0’) alors la case correspondante sur le tableau résultant sera un trou. Si le tableau résultant contenait unebille au tour précédent la bille tombe et un des joueurs perd donc une de ses billes. Récapitulatif : 3 plateaux : plateau horizontal (« plateauhor ») plateau verticale (« plateauver ») plateau résultant (« plateau ») ? 3 tableaux à 2 dimensions Les languettes Les plateaux que nous avons défini précédemment ne contiennent aucune information sur l’état des languettes. En effet il s’agit uniquement del’état des plateaux. C’est pourquoi, nous avons dû créer deux structures permettant de stocker l’état des languettes : – Une structure (etatligne) pour stocker l’état d’une languette horizontale – Une structure (etatcolonne) pour stocker l’état d’une languette verticale « etat ligne » est une structure qui s’utilise uniquement lorsque l’on déplace une languette horizontalement. Elle comporte quatrevariables. « gauche1 » , « gauche2 », « droite1 » et « droite2 ». Chaque variable correspond à l’état d’une partie de la languette. Schéma explicatif des différents états des tirettes horizontales : [gauche1] [gauche2] – -PLATEAU- – [droite1] [droite2] Légende : ‘0’ ? pas de languette ‘1’ ? une languette contenant une case pleine une fois dans le jeu ‘2’ ? une languette contenant un trou une foisdans le jeu
page 2 / 5
________________________________________________________
Polytech’ Paris-Sud – Université Paris-Sud Maison de l’Ingénieur, Bâtiment 620, 91405 ORSAY CEDEX
Téléphone : +33 (0)1.69.33.86.11.
De même « etat colonne » est une structure qui s’utilise uniquement lorsque l’on déplace une languette verticalement. Elle comporte quatre variables : « haut1 », « haut2 »,« bas1 », « bas2 » Schéma explicatif des différents états des languettes verticales : [haut1] [haut2] |||| PLATEAU |||| [bas1] [bas2] Une structure de type « etatligne » ou de type « etatcolonne » sauvegarde uniquement l’état d’une seule languette. Afin de sauvegarder l’état de toutes les languettes au cours du jeu, nous avons crée deux tableaux : – Un tableau de type etatligne sauvegardant…