|
Sommaire
|
|
|
|
|
Interface graphique
|
|
|
Nous disposons maintenant des méthodes pour obtenir notre grille initiale mélangée, en conservant la solution et en la validant de manière aléatoire, ainsi que de techniques pour vérifier le bon remplissage par le joueur. Reste à intégrer tout cela au sein d'une interface.
|
L'interface vue dans Flash :
un clip, et de l'actionscript...
|
Notre jeu combinera clic de souris et touches du clavier : souris pour sélectionner une case, clavier pour entrer les chiffres. Notre grille sera construite dynamiquement à partir d'une case unique, représentée par un movie-clip contenant un champ texte. Le placement dynamique utilisera la technique de la boucle imbriquée, qui sera utilisée de nombreuses fois dans notre code. Lors de l'instanciation de notre movie-clip, on lui assignera un nom, une position et une valeur de champ en fonction des boucles et de la correspondance de nos tableaux.
|
Composition du clip : une images-clefs par couleur, et un stop() chacune.
|
Dans le cas où une case du tableau est vide, nous lui appliquons une méthode de clic permettant à l'utilisateur de choisir la case - les cases déjà remplies ne seront ainsi pas modifiables. Lors d'un clic, les cases modifiables changent leur couleur de fond.
|
Résultat de la compilation
|
Nous avons indiqué que notre code comprendra de nombreuses boucles imbriquées. Cela n'est pas peu dire, car il nous faut plusieurs fois parcourir les différents tableaux nécessaires à la mise en place et la vérification du jeu : inverser les chiffres pour mélanger le tableau linéaire initial, copier le tableau mélangé dans un tableau "solution", créer un tableau de booléen indiquant si une case est pleine ou vide, vider les cases sensées l'être, afficher la grille dans l'interface Flash, calculer le total des additions de chaque ligne pour vérifier que tout est bien rempli, vérifier les correspondances entre le remplissage du joueur et le tableau solution... Les tableaux imbriqués sont à ce niveau la manière la plus didactique et accessible de travailler nos données.
|