Le principe de POUSSE-POUSSE est simple : vous devez reconstituer une suite de mots ou une image qui sont contenues dans un tableau à l'écran. Le tableau étant constitué de caractères mis dans le désordre. Vous remarquerez que, quelque soit le tableau à reconstituer, le carré en bas à droite sera toujours vide : c'est cela qui permettra le déplacement des parties du tableau.POUSSE-POUSSE possède trois niveaux : dans le premier le tableau mesure 4*4 caractères, dans le deuxième 5*5 et dans le troisième 6*6. Chaque niveau comporte quatre tableaux dont 2 avec une suite de mots et 2 avec une image. Cela fait en tout six images : niveau 1 : un homme à lunettes un peu chauve et un homme sans lunettes. niveau 2 : un éléphant d'Asie et un avion au-dessus des montagnes. niveau 3 : un hippocampe et un panda géant. Toutes les informations, sur le compte des points et sur les deux commandes possibles pendant le jeu (Loupe et Vérification), vous seront données dans les instructions du programme.DETAILS TECHNIQUES Ce programme comporte deux routines en langage machine : – La première sert à lire un caractère à la position actuelle du curseur texte, et peut être réutilisée dans un de vos programmes en changeant simplement (si besoin est) l'adresse dans : LD ( # 8007),A (C'est l'adresse où va être sauvé le code ASCII du caractère lu). La routine se lance par un CALL &8000. Ex. : Pour lire le caractère en bas à droite, faire LOCATE 40,25:CALL &8000:PRINT PEEK(&8007) – La deuxième routine, quant à elle, est plus complexe, et fonctionne uniquement en MODE 1 : elle sert à agrandir les images et se lance par un CALL &8020. - Pour la reloger, il ne faudra pas oublier de changer les adresses définies, au début du listing assembleur, par l'instruction EQU.
- Pour l'utiliser, il faudra poker les valeurs suivantes :
En &8010 : le poids faible de la coordonnée X de l'image agrandie. En &8011 : son poids fort. En &8012 : la même valeur qu'en &8010. En &8013 : la même valeur qu'en &8011. En &8014 : le poids faible de la coordonnée Y de l'image agrandie. En &8015 : son poids fort. En &8016 : la longueur en nombre de points (1 caractère* = 8 points), En &8017 : la largeur en nombre de points. En &802A : le poids faible de la coordonnée X de l'image à agrandir En &802B : son poids fort (initialement X = 0). En &802D : le poids faible de la coordonnée Y de l'image à agrandir En &802E : son poids fort (initialement Y = 399). En &8039 : l'INK du papier à l'endroit où est imprimée l'image agrandie : (mettre 4 ou plus si le papier n'est pas uni ou s'il est généré aléatoirement sinon il apparaîtra à la place d'une des couleurs de l'image agrandie). L'INK est initialement à 0.. En &8095 : la même valeur qu'en &802A En &8096 : la même valeur qu'en &802B EXEMPLE Imaginons que vous vouliez agrandir le mot POUSSE-POUSSE situé en haut à gauche de l'écran X = 0» Y = 399 (-&18F) pour l'afficher aux coordonnées X = 96( = &60), Y = 367 ( = &16f). Le fond étant en INK 0. Il faudra faire :
POKE &8010,&60:POKE &8011,0 Pour la coordonnée X POKE &8012,&60:POKE &8013,0 Pour la coordonnée X POKE &8014,&6F:POKE &8015,1 Pour la coordonnée Y POKE&8016,120 Longueur = 15 caractères * 8 points/car. = 120 POKE &8017,8 Largeur = 1 caractère * 8 = 8 CALL &8020 Lance la routine Les autres valeurs (position du mot POUSSE-POUSSE, INK du fond) étant les mêmes que celles initialement prévues, il n'est pas nécessaire de les poker. CPC HS n°8
|