Voici un petit jeu, comme je les aime, privilégiant la réflexion sur l'action.Il s'agit tout simplement de remettre dans leur bonne colonne un certain nombre de dés. Le problème est que ceux-ci bougent quatre par quatre. Vous en mettez un à sa place, trois autres s'en trouvent déplacés. Redéfinition Nécessité de deux caractères redéfinis pour chaque dé, ainsi qu'un certain nombre pour dessiner l'abominable saurien à droite de l'écran. Variables de base Du très classique, si ce n'est la façon de représenter les dés par des variables alphanumériques indicées de type DE$(1) : Ceci afin de permettre le rajout d'une variable numérique entre les parenthèses. Pour la représentation des dés est utilisée une chaîne de caractères: les caractères redéfinis pour chaque dés, avec, entre les deux, le CHR$(8) et le CHR$(10) autorisant le retour en arrière et la descente d'une ligne du curseur. Dans le tableau DIM EC(6, 4) sera stockée la représentation numérique de chaque dé. Il y a 6 colonnes sur 4 lignes, soit 24 dés possibles. Création du décor - Ligne 700 : affichage de l'emblème de votre serviteur.
- Lignes 710 - 820 : tracé des lignes des divers cadres en fonction de leur point de départ et de leur longueur, le tout contenu dans une série de data.
Affichage tableau- Lignes 900 - 1030 : branchement en fonction du numéro de tableau (1 à 12). Il ne tient qu'à vous d'en rajouter (voir Data 12 tableaux).
- Lignes 1050 -1090 : lecture de la valeur du dé (zéro = pas de dé) et tirage aléatoire de sa colonne et de sa ligne.
- Ligne 1130 : effacer un dé.
- Ligne 1140 : afficher un dé dont la valeur est dans la variable D.
- Ligne 1150 : afficher le cadre.
- Ligne 1160 : l'effacer en le redessinant à l'encre zéro.
Routine principaleLe joystick est obligatoire pour ce jeu. Les 4 directions de base déplacent le cadre dont la position de départ est contenu dans les variables PA et PO. L'appui simultané sur Feu plus Droite ou Gauche permet de faire tourner dans le sens désiré les dés contenus dans le cadre. - Ligne 1390 : conservation de la valeur de départ des dés contenus dans le cadre.
- Lignes 1400 - 1430 : permutation et affichage des dés.
- Ligne 1440 : initialisation du DIM avec les nouvelles valeurs.
- Lignes 1480 - 1510 : vérification si tous les dés à leur place. Chaque case du DIM est testée. Si sa valeur est égale à zéro (pas de dé) ou égale à la valeur de la colonne, la variable BON est écrémenté. Si BON=24 tous les dés sont à leur place... C'est gagné!
Fin de partieBranchement à ce sous-programme pour deux raisons. Si BON=24, c'est gagné. Si TOR=0, le nombre de tour auquel vous aviez droit est épuisé et vous avez perdu. Suivant le cas, vous passez au tableau suivant ou vous refaite celui que vous n'avez pas réussi. Gestion des scores Une ligne pour effacer et écrire le nombre de tours restants, le tableau en cours et enfin votre score. Data 12 tableaux Une ligne de data est réservée pour chacun des douze tableaux écrits. La possibilité dépasse le million. Un tableau se compose d'une ligne de 24 chiffres allant de 0 à 6. La seule règle à respecter et de ne pas répéter un chiffre plus de 4 fois. Logique, il n'y a que 4 lignes pour 6 colonnes. Sachez aussi que moins votre ligne contient de zéro et plus le casse-tête devient difficile voire impossible. Bonnes migraines!.. Claude Le Moullec, MicroMag |