Cours d'Interfaces Homme-Machine
Polytech'Grenoble & UFR-IMA
F. Jambon -  Université J. Fourier

TP : Le jeu de Morpion pour mobiles

Le but de ces travaux pratiques est de réaliser l'interface homme-machine d'un jeu de Morpion, sur dispositif mobile (J2ME avec CDLC et MIDP), et en implantant le modèle d'architecure logicielle Seeheim vu en cours.

Buts pédagogiques : Implantation du modèle d'architecture Seeheim, utilisation des API MIDP "low-level" (création d'un Widget spécialisé héritant d'un Canvas).

Sujet

Le jeu de Morpion se joue sur un plateau de neuf cases. Chacun des joueurs inscrit tour à tour une croix où un rond dans l'une des cases vides. Pour cela il utilise les touches (numériques de 1à 9) du clavier du dispositif. Le premier des joueurs qui a aligné trois croix ou ronds a gagné. Le noyau fonctionnel du jeu vous est fourni. L'interface homme-machine que vous devez réaliser se compose (de haut en bas) :

Le jeu de Morpion

Découpage en modules selon l'architecture Seeheim

Votre application doit être réalisée selon le modèle d'architecture logicielle Seeheim. Pour cela vous devez répartir le code en quatre modules distincts :

Module Présentation

Interfaces de programmation (API)

Le module Présentation doit disposer des méthodes suivantes :

Le module Présentation doit réagir aux événements ou commandes suivants :

Technique de programmation

Une des techniques possibles est de dessiner le jeu dans une classe Plateau qui hérite d'un Canvas. Cette classe Plateau est alors un attribut de la classe Présentation (qui sera ici une MIDlet).

Cette classe Plateau est donc en charge de toute la gestion de l'affichage et de la remise à jour si besoin de cet affichage. Notamment elle doit se réafficher à chaque modification (ajout, effacement) des pions ou si la taille du Canvas a été modifiée.

Il vous est conseillé de définir comme attribut, dans la classe Plateau, d'un tableau d'entiers représentant les pions, et à chaque demande de réaffichage, de tout redessiner à partir des informations contenues dans ce tableau.

Module Contrôle du Dialogue

Le contrôleur de Dialogue va être sollicité par la Présentation par l'intermédiaire de trois méthodes :

Extension : prise en compte du score

Si vous avez terminé le jeu clasique, vous pouvez modifier celui-ci afin de prendre en compte le score de chacun des joueurs sur plusieurs parties. Pour cela vous devez :

Documents à produire