Programmation impérative, projet 2015

Dates et principe

Cette page peut être mise à jour, avec informations complémentaires, précisions, questions bonus, etc. Pensez à y revenir souvent.

Projet à rendre pour le 4/1/2016 à 23h59, aucun retard ne sera toléré.
Des soutenances pourront être organisées ensuite.

Lire tout le sujet.

Un rendu de projet comprend : Avez-vous lu tout le sujet ?

Protocole de dépôt

Vous devez rendre

rassemblés dans une archive tar gzippée identifiée comme votre_prénom_votre_nom.tgz.
La commande devrait ressembler à :
tar cvfz randolph_carter.tgz rapport.pdf fichiers.c autres_truc_éventuels.c
N'OUBLIEZ surtout PAS de mettre le nom identifiant l'archive (donc nouveau) en PREMIER.
Lisez le man ! et testez le contenu de votre archive (une commande comme par exemple :
tar tvf randolph_carter.tgz doit lister les fichiers et donner leur taille).

Procédure de dépôt
Vous devez enregistrer votre archive tgz dans le dépôt dédié au cours IPI (ipi-2015) en vous connectant à http://exam.ensiie.fr. Ce dépôt sera ouvert jusqu'au 4 janvier inclus.


Contexte

Le but de ce projet est d'implanter une plateforme de jeu de type deux-mille-quarante-boum.

Ce jeu se présente sous la forme d'un tableau en deux dimensions dans lequel sont placés des objets de différentes familles ordonnées. Initialement un seul objet est présent, placé de façon aléatoire.

On distingue les familles de nombres et les familles de bombes. Deux objets de même famille qui se percutent forment un objet de famille supérieure (les nombres entre eux ou les bombes entre elles).

Le principe général est de faire apparaître un nombre supérieur ou égal à une borne fixée au lancement.

Fonctionnement

Interface

On travaille dans un premier temps en mode texte.

L'affichage propose le tableau et ses objets : les nombres sont représentés par des suites de chiffres et les bombes par +, X, *; Les lignes du tableau sont séparées pas des suites de -, les colonnes par des | (3 lignes de texte par ligne du tableau).

En dessous du tableau se trouvent :

Initialement la valeur limite, les largeur et hauteur du tableau sont demandées ; l'affichage et le remplissage initial se font en fonction des entiers entrés.

L'origine du repère est le coin en bas à gauche.

Une direction est selectionnée par la lettre la désignant. On peut penser à i, j, k et l. Une confirmation est alors attendue.
Lorsqu'un objet bombe est sélectionné par son abscisse et son ordonnée, son symbole est présenté entre accolades et une confirmation est attendue.

L'affichage est rafraîchi chaque fois que des objets se déplacent ou disparaîssent.

Un affichage spécifique alerte de la fin de partie.


Questions

  1. Proposez le jeu sans bombes.
  2. Proposez le jeu complet.

Conseils

Pour la récupération des caractères de confirmation il est fortement déconseillé d'utiliser : Vous devez avoir lu jusqu'ici avant de commencer.