CentraleSupélec LMF, UMR CNRS 9021
Département informatique Laboratoire Méthodes Formelles
Bât Breguet, 3 rue Joliot-Curie Bât 650 Ada Lovelace, Université Paris Sud
91190 Gif-sur-Yvette, France Rue Noetzlin, 91190 Gif-sur-Yvette, France
Projets de développement logiciel

2012-2013, Séquence 5

L'environnement Greenfoot

Les sujets proposés sont à réaliser de préférence dans l'environnement Greenfoot. Cet environnement permet d'obtenir rapidement une ébauche d'interface graphique, et vous permet d'expérimenter pour prendre progressivement en main les outils proposés.

Vous trouverez une description des notions utilisées dans Greenfoot, ainsi que la façon dont vous pouvez travailler avec Greenfoot au sein d'Eclipse sur cette page.

Pour travailler sur votre projet Greenfoot dans Eclipse, voyez la page Greenfoot et Eclipse.

Sujets proposés

Consignes

Les consignes à respecter pour la réalisation du projet sont disponibles sur Moodle. Il est indispensable de consulter et de respecter ces consignes.

Des consignes plus particulières en ce qui me concerne sont données sur cette page.

Les points que je considère comme les plus importants sont :

  • la gestion du projet par vous-mêmes : vous devez avancer dans votre projet et me tenir

au courant de cet avancement, soit par email, soit en prenant rendez-vous avec moi ;

  • la documentation : ce que vous faites doit être documenté (code, conception,

mode d'emploi, choix des exemples etc.)

  • le respect des délais : les dates importantes sont indiquées ci-dessous et doivent

être respectées. Si un problème se présente, il doit être anticipé suffisamment, et un éventuel report doit être négocié avant l'échéance initiale.

Contact

Frédéric Boulanger, bureau D2.10d au département informatique.

Dates importantes

  • Choix des sujets le vendredi 21 septembre 2012 à 12h15 en E1.13
  • Remise du rapport intermédiaire et du code le lundi 15 octobre 2012 code 4RJ7
  • Remise du rapport et du code le lundi 12 novembre 2012 code 4S6J
  • Soutenance : du 14 au 16 novembre 2012, sur rendez-vous.

Affectation des sujets

NomsBinômeSujetSoutenance
Bos / Mithouard33Mario 
Boussetta / Lemarchand38Bataille navale 
Godemel / Traniello37Agenda 
Lagrée / Morariu-Patrichi36Pacman 
Lecuyer / Lesage31Aspirateur 
Centoducatte / Modena32  
Perolat / Seguin34Pacman 
Schranz / Vandewoestyne35Agenda 

Détail des sujets

Agenda

L'objectif est de gérer une liste d'événements caractérisés par une date et une durée. On souhaite pouvoir créer des événements, ainsi que les afficher par jour, par semaine ou par mois.

L'affichage des événements pourra être fait en utilisant Greenfoot.

La liste d'événements sera stockée dans un fichier, de préférence au format XML.

Liens utiles :

Exemple d'agenda
Exemple d'agenda

Jeu d'arcade de type Mario

L'objectif est de programmer un jeu d'arcade dans lequel le joueur contrôle un personnage à l'aide des flèches et de certaines touches du clavier. Ce personnage se déplace dans un univers linéaire où il rencontre des obstacles, des bonus etc.

À chaque instant, l'écran n'affiche qu'une portion de l'univers dans lequel se déplace le personnage, et il faut actualiser cet affichage en fonction des déplacements.

Super Mario
Super Mario

Pacman

L'objectif du projet est de programmer un jeu de Pacman. Dans ce jeu, le joueur contrôle un personnage qui se déplace dans un labyrinthe et doit le parcourir complètement avant de passer au niveau suivant. Des bonus apparaissent et disparaissent, et le Pacman doit chercher à en attraper un maximum au cours de ses déplacements. Des fantômes se déplacent de manière autonome dans le labyrinthe, et tue le Pacman s'ils le touchent. Le labyrinthe possède une ouverture à l'est et une à l'ouest. Ces ouvertures sont connectées : si le Pacman sort par l'ouest, il entre par l'est et vice-versa.

Pacman
Pacman

Aspirateur automatique

On veut étudier différentes politiques de déplacement pour un robot aspirateur automatique. L'objectif du robot est de parcourir la totalité de la salle dans laquelle il se trouve afin de la nettoyer. Il dispose pour cela de capteurs lui permettant de détecter les obstacles.

Le robot peut avancer, reculer, et tourner d'un certain angle sur lui-même. Il peut mémoriser ses actions pour connaître le parcours qu'il effectue dans la salle, l'emplacement des différents obstacles, et le pourcentage de la surface de la salle qu'il a parcouru.

Parcours
Parcours de l'aspirateur

Bataille navale

Chacun des deux joueurs dispose le même nombre de navires sur une grille 10x10. À tour de rôle, les joueurs annoncent les coordonnées d'une case de la grille, l'autre joueur répondant dans l'eau si aucun de ses navires n'occupe cette case, touché si un navire occupe cette case, ou coulé si cette case était occupée par la dernière partie intacte d'un de ses navires.

Les joueurs maintiennent à jour une grille représentant l'état de leur flotte, et une grille mémorisant les informations obtenues sur la flotte ennemie. Le premier joueur qui coule tous les navires de l'autre a gagné.

Grille de bataille navale
Grille de bataille navale