★ AMSTRAD CPC ★ GAMESLIST ★ LE TAQUIN ALPHABÉTIQUE (c) AM-MAG/LMC ★

AMMAG

Voici le moment tant attendu de la récréation. Le listing de ce mois est un petit jeu nécessitant rapidité et réflexion. Il présente l'avantage de reprendre ce que nous venons d'évoquer et d'y mêler ce qui faisait l'objet de notre premier cours : les chaînes de caractères.

I - Le menu carrefour

Conçu au départ pour l'option joystick, ce jeu propose également les touches fléchées ou bien des touches redéfinies. Cela est fixé en igné 180 avec les variables K1$,  K2$,etc.
Lignes 200 à 340: création d'un menu utilisant le système de l'inversion vidéo obtenu oar un CHR$(24) devant et après la variable. Les trente-jeux caractères de contrôle existants feront l'objet d'une etude ultérieure. L'appui sur une touche quelconque incrémente les quatre options (ligne 280). La touche ENTER valide l'option choisie et le branchement se fait en 340. Les variables K1 $ , K2$ , sont alors initialisées avec des codes ASCII suivant l'option sélectionnée.

II - L'affichage du tableau

  • Le sous-programme « double hauteur », déjà rencontré dans le listing du mois dernier, est  ici à nouveau utilisé. Les explications vous sont réservées pour un prochain cours traitant des bancs titres.
  • Lignes 730 à 800 ; tracé du carré contenant les lettres.

III - Variables de base

  • Tout$ : chaîne de caractères contenant la suite logique des quinze premières lettres de l'alphabet, plus un espace.
  • Rien$ : chaîne de seize espaces. Celle-ci ne restera pas vide très longtemps puisqu'elle contiendra, après chaque déplacement, les lettres affichées à l'écran dans l'ordre qui leur aura été donné. Cette chaîne sera comparée à la chaîne TOUTS. Si elle sont identiques, vous avez gagné !
  • Dim lett$(16): dans ce tableau seront stockées les seize lettres dans l'ordre de leur tirage au sort.
  • Tp : temps imparti.
  • PER et GAN sont des flags (drapeaux) permettant de savoir si la partie est gagnée ou perdue.

IV – Mélange

L'ordinateur fait un tirage au sort pour mélanger les seize lettres. Elles sont stockées dans le tableau LETT$. La ligne 1000 vérifie si il n'y a pas deux lettres identiques dans tout le tableau.

V –Affichage

  • Deux boucles imbriquées l'une dans l'autre effectuent l'affichage.
  • Ligne 1090 ; vérifie si une lettre n'est pas déjà à la bonne place. Si c'est le cas, elle est affichée avec le PEN 3 sinon, c'est le 1.
  • Ligne 1110 : on garde en mémoire la position X. Y de la case vide. C'est à partir de cette position que commenceront les déplacements.

VI – Routine principale

  • Ligne 1190: le temps est décrémenté. S'il tombe à zéro, vous avez perdu.
  • Lignes 1210 à 1250: un test du clavier ou du joystick est effectué en fonction des variables définies dans le menu carrefour. On vérifie que le déplacement ne sort pas de l'espace de jeu. Le branchement s'effectue  en  conséquence.
  • Lignes 1260 à 1310: le déplacement est possible à gauche.
  • Lignes 1270 à 1280 : dans le tableau LETTS. inversion de la case vide avec la lettre déplacée.
  • Ligne 1290: réinitialisation de la position X1.
  • Ligne 1310: vers test pour voir si la partie n'est pas gagnée.
  • Lignes 1320 à 1460 : mêmes opérations avec les trois autres directions.

VII – Nouvelle position

  • Le programme passe par cette routine après chaque^déplacement pour vérifier où en est la partie.
  • Ligne 1520 : vérifie si la lettre déplacée n'est pas à la bonne place. Si c'est le cas, le PEN d'affichage est le PEN 3.
  • Lignes 1530 à 1540 on affiche la lettre dans sa nouvelle case et on l'efface dans l'ancienne.
  • Ligne 1560 : la chaîne de caractères RIEN$ estcrééeavec le contenu du tableau LETT$. Ligne 1570 comparaison des variables TOUT$ et RIEN$. Elles sont identiques : gagné.
  • Ce n'est pas le cas... on boucle pour un nouveau tour.

VIII – Perdu/gagné

En fonction des flags PER et GAN, ce sous-programme connaît l'état en fin de partie. Si vous avez gagné, le programme recommence mais avec un peu moins de temps. Si vous avez perdu, le logiciel vous accorde gracieusement une nouvelle partie avec plus de temps.

Et voilà, la boucle est bouclée. Ce petit jeu sans prétention ne demande qu'à être étoffé de vos trouvailles. Rendez-vous le mois prochain pour parler des bas, heu, des tableaux Dim.

Claude Le Moullec , AMMAG 42

LE TAQUIN ALPHABÉTIQUE
(c) AM-MAG , LMC

PROGRAMMATION: CLAUDE LE MOULLEC

★ ANNÉE: 19xx
★ LANGAGE:
★ GENRE: BOARD , BASIC

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» Le  Taquin    (Listing  AMMAG)DATE: 2013-08-30
DL: 44 fois
TYPE: ZIP
SIZE: 21Ko
NOTE: 42 Cyls
.HFE: OUI

» Le  Taquin    FRENCHDATE: 2013-08-30
DL: 63 fois
TYPE: ZIP
SIZE: 20Ko
NOTE: 40 Cyls
.HFE: OUI

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 105 millisecondes et consultée 996 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.