Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zér0 > Les tutoriels > Non-Officiels > Programmation > Calculatrices > Casio > Lecture du tutoriel

Le Getkey

Avatar
Auteur : Ilae
Créé : le 18/04/2007 21:39:16
Modifié : le 05/05/2007 17:32:59
Noter et commenter ce tutoriel
Imprimer ce tutoriel
Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Le Getkey est une fonction très utile mais pas très facile à utiliser car il prend en compte un paramètre difficile à déterminer.
Sommaire du chapitre :
Chapitre précédent Sommaire Chapitre suivant

Le but

Cette fonction est une sorte de variable : si jamais vous appuyez sur une touche pendant l'exécution du programme, la valeur de la touche sera assignée à la variable Getkey (même si ce n'est pas vraiment une variable). Imaginons que vous vouliez créer un jeu du style Snake II et que vous vouliez faire diriger votre serpent vers la droite, il vous faudra appuyer sur la flèche de droite. Or, s'il n'y a rien pour recevoir cette pression de la touche, votre appui n'aura servi à rien (eh oui, la calculatrice ne peut pas deviner toute seule que le serpent devra aller à droite). C'est pourquoi il faudra se servir de cette fonction.

Utilisation

On va donc apprendre à l'utiliser car ce n'est pas évident. Dans 95% des cas, il se place dans une boucle : ceci car la calculatrice lit les informations très vite et à moins que vous ne soyez très rapide, il me semble difficile que vous ayez le temps d'appuyer sur la touche avant que la calculatrice soit passée à la ligne suivante. Il faut donc le placer dans une boucle pour que la calculatrice le lise plusieurs fois et qu'au moins une fois, lors de la pression d'une touche (qui dure assez longtemps, comparé à la vitesse de la calculatrice), le Getkey prenne une valeur. Mais bon, les explications ne sont pas vraiment importantes : ce qui importe vraiment, c'est la syntaxe :

0->Z
Lbl 0 : Getkey -> Z
Z=31 => Goto 1
Goto 0
Lbl 1 : "Vous avez appuyé sur [EXE]"

J'ai utilisé la variable Z car c'est elle que j'utilise d'habitude et j'ai mis la valeur 31 car c'est celle qui correspond à la touche EXE. Vous avez compris comment ça fonctionne ?
Je n'étais pas obligé de passer par la variable Z, j'aurais directement pu mettre : Getkey=31 => Goto 1 .

Tableau de valeurs

Le problème demeure ici, les touches ont des valeurs assez difficiles à retenir. Voici une image avec le Getkey de chaque touche (c'est celle qui est dans le manuel de votre calculatrice) :


Image utilisateur


La touche AC/On n'a pas de Getkey, c'est normal car elle sert à stopper les programmes. :p


Voilà, à vous de l'apprendre. Non, ce n'est pas la peine, il y a une solution : il vous suffit de créer un petit programme qui vous donnera la valeur de la touche pressée.
Code : Autre
1
2
3
4
5
6
7
8
9
Lbl 0 :0->Z

Getkey ->Z

ClrText

Locate 5,5,Z

Goto 0

Voilà, maintenant, vous pouvez réaliser des jeux qui ressemblent à quelque chose. Beaucoup de petits jeux sont réalisables du moment qu'ils n'ont pas de graphismes. Le chapitre suivant est d'une importance cruciale : sans lui, vous ne resterez toujours qu'à de petits jeux et ne pourrez jamais créer des jeux de plate-forme (Bomberman, Mario, ...). Ce sont les matrices et les listes mais je ne vous en dis pas plus pour l'instant...
Chapitre précédent Sommaire Chapitre suivant
Auteur : Ilae
Noter et commenter ce tutoriel
Imprimer ce tutoriel

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | Fil RSS | XHTML 1.0 | CSS 2.0
Édité par Simple IT SARL : Nous contacter | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 90 Zéros connectés | Requêtes SQL 9 requêtes | Temps de génération de la page : Total (SQL) 0.0684s (0.053s)