Imprimer
Catégorie : SAÉ - Développement IHM
Affichages : 570

1°/ Attendus techniques

 

NB 1 : ces attendus viennent en sus de ceux qui ont été précisés dans l'article général : Présentation générale (objectifs, attendus, organisation)

NB 2 : ces attendus sont pour la plupart les mêmes que pour la version en mode texte, certains sous une forme différente grâce au côté graphique et aux interactions via la souris

 

1.1°/ Interface

1.2°/ Choix du mode de jeu

1.3°/ Faire des actions de jeu

Les optionnels (=> bonus) lorsqu'un pion est sélectionné :

1.4°/ Fin de partie

 

1.5°/ Tests unitaires

 

2°/ Méthodologie

Les phases de développement se font globalement dans le même ordre que pour la version texte, avec toujours la possibilité de développer les parties vue et contrôle plus ou moins en parallèle. Bien entendu, la partie contrôle reste primordiale puisque c'est elle qui permet à l'utilisateur d'interagir avec le jeu et de jouer. Il vaut donc mieux un aspect visuel simple, voire moche, et une totale jouabilité, plutôt que de beaux graphismes avec une jouabilité fastidieuse, voire déficiente.

2.1°/ découverte de boardifier

Pour cela, un tutoriel est disponible : Tutoriel 4 : créer un jeu de plateau en mode graphique avec Boardifier

Chaque étudiant DOIT le suivre. Ce tutoriel permet de comprendre comment adapter un jeu en mode texte, créé à partir de boardifier-console, en mode graphique avec boardifier.

 

2.2°/ conception de la partie modèle

Après avoir suivi le tutoriel sur boardifier, vous devriez être capable de déterminer les classes du modèle qui vont nécessiter quelques rares modifications pour passer en mode graphique. Normalement, cela ne concerne que des élément de jeu qui ne sont pas présent en mode texte, comme par exemple des noms/messages/icônes/... à afficher dans la fenêtre de jeu. 

 

2.3°/ conception de la prise de décision

Les seuls changements sont la modification des actions qui sont crées pour représenter les coups à jouer. Il faut en effet leur ajouter une animation afin que les éléments de jeu concernés se déplacent visuellement à l'écran.

 

2.4°/ conception de la partie vue

Comme pour la version texte, la conception et le codage de la partie vue repose sur la création des maquettes précises du visuel du jeu. Cela implique notamment de définir :

Au minimum, il est demandé de créer un visuel à taille et structuration constante, donc qui respecte les maquettes. Cependant, il est possible de définir le visuel pour plusieurs tailles possibles. Dans ce dernier cas, cela complexifie grandement le codage de la partie vue et n'est donc pas vraiment conseillé. Comme pour les autres parties optionnelles, cela comptera comme un bonus dans l'évaluation. 

Le principal challenge pour implémenter les classes de la vue est de bien comprendre la structuration et le fonctionnement d'une Scene javafx et de tous les types de noeuds qui peuvent être inclus dans celle-ci : Group, Pane, Shape, ImageView, ... Le second challenge est de comprendre comment boardifier représente et gère le visuel des éléments du jeu au travers de la classe ElementLook et ses sous-classes. Pour ces deux points, le tutoriel est la façon la plus simple et directe pour trouver des exemples d'implémentation de pion, plateau, ... ainsi que la façon de gérer l'animation d'un élément.

 

2.5°/ conception de la partie contrôle

La partie contrôle est ce qui change le plus entre la version texte et la version graphique. Même si boardifier contient presque toute la mécanique permettant de gérer la mise à jour du modèle et de la vue à intervalle régulier, il faut entièrement implémenter la gestion des événements utilisateur, notamment la souris et les menus. Cependant, tous les jeux proposés se basent sur le même principe de tour de jeu : sélection d'un pion et déplacement de ce pion à une destination. Ce principe est également celui du tutoriel "The Hole". Comprendre comment est géré la sélection/déplacement dans le tutoriel permet de le réutiliser et de l'adapter facilement aux autres jeux.