-
Notifications
You must be signed in to change notification settings - Fork 37
Conventions
Steeve Droz edited this page May 15, 2017
·
3 revisions
- Le fichier de l'énigme se trouvent dans le sous-répertoire
/Enigmas
et portent un nom se terminant parEnigmaPanel
. Exemple :SimpleEnigmaPanel
. - Toutes les classes énigmes héritent de
EnigmaPanel
. - Les classes utilisées par les énigmes se trouvent dans
/Enigmas/Components
. - L'énigme en cours de développement est appelée par la méthode
EnigmaReferencer.DebugEnigma()
comme ceci :return new Enigma(new XXX(), "YYY");
oùXXX
est le nom de votre classe etYYY
est le titre unique de votre énigme tel qu'il sera affiché à l'écan. - Les énigmes terminées sont référencées dans la méthode
EnigmaReferencer.ReferenceEnigmas()
selon le schéma suivant :enigmas.Add(new Enigma(new XXX(), "YYY"));
oùXXX
est le nom de votre classe etYYY
est le titre unique de votre énigme tel qu'il sera affiché à l'écran. - Dans le fichier
enigmas.xml
, chaque énigme est représentée par un nœud selon le schéma présenté plus bas - Lorsque le programme est lancé en mode DEBUG, seule l'énigme retournée par
EnigmaReferencer.DebugEnigma()
sera lancée et donner le bon mot-clé ou passer à l'énigme suivante fera quitter le jeu. - Lorsque le programme est lancé en mode RELEASE, toutes les énigmes présentes dans
EnigmaReferencer.ReferenceEnigmas
feront partie du jeu et celui-ci se lancera de manière normale. Afin de les retrouver facilement, ces énigmes sont classées par ordre alphabétique du nom de leur classe.
<enigma title="TITRE">
<answer>RÉPONSE</answer>
<hint>INDICE</hint>
</enigma>
-
TITRE
correspond au titre précisé plus haut. -
RÉPONSE
est la réponse attendue. -
INDICE
est un indice donné au joueur en cas de besoin.
Toutes ces méthodes sont virtual
et peuvent être redéfinies grâce à override (exception faite du constructeur, bien entendu).
Constructeur par défaut, fixe la taille de l'énigme à 800x600 et la couleur de fond à blanc. Il est possible de modifier ces deux valeurs.
Appelé lorsque l'utilisateur appuie sur une touche du clavier.
Appelé lorsque l'utilisateur relâche une touche du clavier.
Appelé lorsque l'application affiche l'énigme à l'écran. C'est ici qu'on lancera un Timer
, par exemple.
Appelé lorsque l'application affiche une autre énigme. Ici, on arrêtera tout ce qu'on a lancé dans Load()
.