[Plan du site]
Vous êtes ici ---
> Le Site du Zér0
> Les tutoriels
> Non-Officiels
> Programmation
> Calculatrices
> Casio
> Liste de toutes les notes
Apprenez le BASIC Casio !
Vous voulez exploiter les performances de programmation de votre petite bête verte ? Vous êtes tombé sur le bon tuto, et sur le bon site. Car ici la règle est d'enseigner
TOUT à partir de ZérO ! Même si vous n'avez jamais entendu parler du langage de programmation sur calculatrice (abrégez calto) Casio graph 35+, 60, 65 et 80, ce tuto est fait pour vous ! Trêve de bavardages, passons à la pratique.
DERNIERE MISE A JOUR : 17/06/07 : LE TUTORIEL EST MAINTENANT TERMINE, NE RESTE PLUS QU'A COMPLETER LES ANNEXES.
Ce cours est composé des parties suivantes :
-
Partie 1 : Programation numérique
C'est ici que tout commence, vous allez découvrir le bonheur de la programmation CASIO

.
Vous disposez maintenant de bases solides : nous allons pouvoir entamer la seconde partie. Celle-ci sera plus axée vers tout ce qui est dessin, vous allez voir, ça va être bien.
-
Partie 2 : Programation graphique
Cette partie sera surtout axée sur les différents "outils" de dessin, et puis sur une façon d'afficher du texte. Parce qu'une fenêtre de 21 * 7 c'est bien, mais je vais maintenant vous proposer une fenêtre de 127 * 63 et... c'est mieux !
Cette partie n'était donc pas bien dure, la seul chose un peut gênante je l'avoue est sans doute le "placement" des lignes / pixels / texte, sachant que le point d'origine change à chaque fois. Mais vous allez voir, vous vous y ferez bien vite.
-
Partie 3 : Listes / Matrices : vos nouveaux inséparables
Attention, attention ! Chapitre primordial ! Vous allez enfin apprendre à créer des données qui ne seront pas effacées lorsque la calculatrice sera éteinte... Je vois dans le regard des plus malicieux d'entre vous une possibilité de sauvegarde de jeu, et il a bien raison.
Certes c'est un gros morrceau à avaler, mais lorsque vous l'aurez complètement digéré, je peux vous affirmer que vous verrez la programmation sur Casio tout autrement.
Partie 1 : Programation numérique
C'est ici que tout commence, vous allez découvrir le bonheur de la programmation CASIO

.
Quelques notions de bases.
Dans ce premier chapitre vous n'allez pas encore commencer à programmer, mais vous allez voir quelques petites choses qui peuvent sembler inutiles, mais après tout, on commence bien de ZérO, non ?
Par où commencer ?
Tout au long de ce tuto je vous enseignerai le langage BASIC pour calculette Casio
graph 35+ ou
graph 65+. Mis à part cet élément, il vous faut un cerveau et bien sûr, des doigts frétillants d'impatience de commencer à taper sur le petit clavier de votre calto... mais c'est dommage, c'est pas pour tout de suite.
Beuh... il sert à quoi ce chapitre, alors ???
Eh bien justement à ce que vous ne fonciez pas tête baissée sur votre calculette sans savoir ce que vous faites ! Je vais à présent vous faire part de quelques petites choses. Tout d'abord, votre calculette (que ce soit une
35+ ou une
65+) comporte
64 Ko de mémoire ; je sais : ce n'est pas beaucoup, mais vous verrez que c'est suffisant. De plus, le langage BASIC est vraiment très simple, comparé aux autres langages de programmation ; mais il n'est pas vraiment rapide, et c'est bien là le revers de la médaille. Si vous vous attendiez à créer le prochain
Unreal Tournament sur votre calculette, vous pouvez passer votre chemin ^^. Mais vous verrez quand même qu'au bout du compte, vous pourrez créer de belles petites choses, bien sympathiques.
Donc si j'ai bien compris, tous les jeux nécessitant de la rapidité comme un FPS ou un RTS (stratégie en temps réel) sont à exclure ?
Effectivement, c'est plutôt à bannir. Lorsqu'on fait un jeu pour Casio, il faut toujours se poser certaines questions comme : est-ce que ce sera jouable ? Quels types de jeux sont appropriés à la calto ? Etc.
Selon moi, les jeux les plus aptes à tourner sur une Calculatrice sont les jeux au tour par tour, ou un jeu de gestion (il existe un SimCity !) ou encore tous les jeux du genre, et les jeux de cartes, pourquoi pas ? Si vous vous posez ces questions avant de créer un jeu, vous ne risquerez pas d'être déçus au final.
Dernières explications
J'ai le plaisir de vous informer que vous ne commencerez toujours pas à programmer maintenant.

Tout simplement parce que vous ne savez pas encore le faire.
Tu te fiches de nous ou quoi ? Je vais dans le menu RUN, j'appuie sur Alpha, et je commence à écrire c'est tout ! Nan ?
Absolument pas ! Tout faux, il ne faut pas aller dans le menu
RUN (ou du moins pas tout de suite) et encore moins écrire directement au clavier. Ça peut paraître idiot comme réflexion0 mais nombreux sont ceux qui ont commencé par faire ça ! (Et pour tout vous dire0 j'en fais partie

)
Voici le menu principal de votre Casio (oui, il est différent du vôtre, car celui-ci est le menu de la
graph85 ; mais ce n'est pas important, car les parties qui nous intéressent s'y trouvent) :
Avec le curseur, déplacez-vous sur la case
PRGM. Si vous n'avez pas de programmes, rien ne s'affiche (logique). Vous allez donc en créer un ! Il suffit pour ça de cliquer sur
Edit en bas de l'écran.
Heu t'es marrant toi, je fais comment ?
Bonne question : en fait, les onglets situés en bas de l'écran correspondent aux touches
F de votre calculatrice. Appuyez sur la touche
F située en dessous de
edit et une nouvelle fenêtre s'ouvre...
Voilà, maintenant vous allez enfin pouvoir commencer à programmer dans le chapitre suivant !
Afficher du texte.
Vous voici enfin dans la partie dans laquelle vous allez pouvoir commencer à programmer. Bienvenue à bord !
La fenêtre d'affichage
Nous y voilà enfin : après avoir entré un nom pour votre programme, vous voilà face à votre écran. Je vais vous le détailler (encore une fois vous n'avez pas pareil que moi, je le répète :
c'est normal, ne vous en faites donc pas si prochainement vous voyez quelque chose du même style) :
La partie du haut est celle où se trouve le nom de votre programme.
La partie centrale, vous vous en doutez, est celle où l'on écrira le code.
La partie du bas est la plus importante. C'est ici que se trouvent nos "touches" pour programmer. Chaque onglet correspond à une des touches
F du clavier de votre calculette. Ainsi le premier onglet correspond à la touche
F1, le second à la touche
F2, le troisième à la touche
F3, etc.
La difficulté sera donc de retenir où est située chaque fonction dans les onglets (mais vous vous y ferez très vite, ne vous inquiétez pas), et c'est pour ça que j'ai mis à votre disposition en annexes la liste de l'emplacement de toutes les fonctions dont nous aurons besoin par la suite.
Je vais maintenant détailler un peu plus ces quelques onglets présents.
TOP : cet onglet permet de remonter tout en haut de votre programme.
BTM : vous vous en doutez, cet onglet fait l'inverse de
TOP, il vous amène à la fin de votre programme.
Attention tout de même, si votre programme est très gros, le temps d'attente risque d'être très long ! Vous pouvez patienter jusqu'à plusieurs minutes dans certains cas ! (Il faut vraiment que le programme soit énorme.)
MENU : cet onglet ouvre un menu
de fonctions avancées, nous ne nous en servirons donc pas pour le moment.
SYMB : cet onglet ouvre un menu constitué de quelques symboles qui peuvent être utiles (guillemets, apostrophes, dièse, slash, étoile, tilde).
Une dernière petite info, puis promis, on commence à programmer.
Il faut que vous sachiez que le mode dans lequel nous allons travailler tout au long de la première partie est le mode
Locate. L'écran de votre calculatrice est, dans ce mode, composé de 21 cases en longueur et de 7 cases en hauteur.
Heu... tu peux me la refaire, là ?
Une exemple vaut toujours mieux qu'un long discours :
Vous pouvez compter : il y a bien 21 * 7 cases. Vous comprenez mieux maintenant ?
J'espère parce que j'ai mis 20 minutes à le faire dans Paint, et sans souris en plus !
Donc en fait, on peut écrire 21 caractères sur une ligne, et écrire 7 lignes , c'est ça ?
Exactement ! Enfin un qui suit

.
Plusieurs techniques d'affichages.
Pour afficher du texte en mode
Locate; il existe plusieurs manières de procéder. Mais à chaque fois une contrainte revient : les guillemets. Effectivement,
à chaque fois que vous voulez entrer du texte, il vous faudra l'entourer de guillemets, comme dans beaucoup d'autres langages de programmation d'ailleurs.
La technique dites "brute"
Elle consiste à écrire dans votre programme directement un texte entre guillemets, sans vous soucier du nombre de caractères par lignes (21, je vous le rappelle).
Regardez ce code :
Code : Autre1
2
3
4
5
| "VOILA UN TRES BON EX
EMPLE DE LA METHODE B
RUTE" |
Notez bien que mes retours à la ligne sont volontaires, c'est pour simuler votre écran de calculatrice.
Essayez donc ce code, vous allez voir. Après avoir écrit le code, appuyez sur la touche
exit située sur le clavier de votre calculette (c'est une petite touche bleue). Et là, magie ! Vous voyez votre programme sélectionné ! Il n'y a plus qu'à appuyer sur
EXE pour que votre tout premier programme se lance !
Beuh c'est nul ! C'est tout lent et puis les mots sont coupés ! Comment ça se fait ?
Ce n'est pas très dur à comprendre, il n'y a aucune séparation volontaire des mots, la calculatrice affiche donc les 21 premiers caractères (à savoir :
VOILA UN TRES BON EXE) puis va à la ligne pour écrire les 21 prochains caractères :
MPLE DE LA METHODE BR, et finit sur la ligne d'en dessous avec les caractères restants :
UTE .
Donc, au final, vous vous retrouvez avec ceci sur votre écran :
VOILA UN TRES BON EXE
MPLE DE LA METHODE BR
UTE
Vous en conviendrez : c'est pas jojo.
On va essayer d'améliorer un peu tout ça.
On pourrait par exemple faire un truc du style :
VOILA UN TRES BON EX-
EMPLE DE LA METHODE
BRUTE
Je vous laisse trouver le code approprié. C'est pas bien dur. Mais ne vous laissez pas avoir par les apparences.
Allez, je suis gentil, je vous donne la correction !
Secret (cliquez pour afficher)Code : Autre1
2
3
4
5
| "VOILA UN TRES BON EX
-MPLE DE LA METHODE
BOURIN" |
Alors, vous avez saisi le petit piège ? Il faut faire attention car dans le code que l'on écrit, il ne faut pas compter les guillemets ! Ils sont souvent source d'erreur. Pour être sûr de faire quelque chose de correct, il aurait fallu séparer les lignes. C'est-à-dire fermer les guillemets à la fin de la ligne, et les rouvrir pour le début de l'autre. Mais attention une fois que vous avez fermé les guillemets, appuyez sur
EXE pour passer à la ligne, une petite flèche apparaît alors, elle est indispensable ! C'est elle qui sépare deux instructions. En gros le code aurait fait :
Code : Autre1
2
3
4
5
6
7
| "VOILA UN TRES BON EX
-" l'instruction est finie, on appuie sur [EXE] et la petite flèche apparait
"MPLE DE LA METHODE" [EXE]
"BRUTE" |
Vous l'aurez compris, il n'y a pas de module de code adapté sur ce site pour le BASIC Casio, donc je remplacerai toutes les petites flèches de fin de fonctions par [EXE] pour vous montrer que vous devez appuyer sur cette touche.
Voilà, j'espère que vous commencez à comprendre ! Je ne peux que vous recommander de faire des tests, il n'y a que comme ça que l'on progresse.
C'est bon je me suis entraîné, j'ai compris, mais je trouve ça vraiment lent ! C'est la vitesse maximum ?
Non bien évidemment, la vitesse d'affichage est très lente car nous utilisions la méthode "brute" ; maintenant que diriez-vous de la technique douce avec affichage... instantané ?
La technique douce
Cette technique est beaucoup mieux que la précédente, et je ne vous cacherai pas que c'est celle que nous allons toujours utiliser à partir de maintenant.
Vous vous rappelez l'histoire de votre écran divisé en 21 * 7 cases ? Eh bien c'est maintenant que ça va nous servir. Chaque case a des coordonnées. Si je reprends l'exemple du début :
La première lettre de la première ligne, le
V est située dans la première case. Ses coordonnées sont
1,1, le
O a pour coordonnées
2,1, et le
E du "ET" de la seconde ligne
1,2. Vous l'aurez compris : on indique d'abord le numéro de la colonne, puis celui de la ligne. La syntaxe est donc la suivante : abscisse, ordonnée, "TEXTE" .
Maintenant, essayez d'écrire ces deux lignes avec la méthode douce (qui s'appelle en fait la méthode
locate).
Allez ! Je suis gentil : je vous aide :
Code : Autre1
2
3
| Locate 1,1,"VOICI LA LIGNE" [EXE]
Locate 1,2,"ET EN VOILA UNE AUTRE" |
La fonction
Locate se trouve dans l'onglet
I/O. Pour y accéder :
SHIFT \ VARS \ F6 \ I/O \ F1.
Sachez aussi que si votre script plante, un message d'erreur s'affichera ; la plupart du temps, ce message pourra être
Syn Error, ce qui signifie une erreur de syntaxe : vous avez tout simplement omis un guillemet, ou vous avez mis un espace là où il ne fallait pas. etc. Notez aussi que si vous appuyez sur la touche gauche ou droite de votre clavier (les touches
replay), la calculette vous amène directement à votre erreur. Mais parfois l'erreur peut être causée par autre chose, situé un peu plus haut dans le programme.
Voila pour le premier abord avec ce langage BASIC Casio. Vous allez maintenant découvrir les choses intéressantes...
Les variables.
Chapitre fondamental que celui-ci ! Vous allez voir ce que sont les variables. En BASIC, elles servent
tout le temps ! Vous ne pourrez plus vous en passer.
28 variables de bases.
En BASIC Casio, vous pouvez utiliser 28 variables : les 26 lettres de l'alphabet, ainsi que le
r (minuscule) et le
thêta.
Quoi ? Mais c'est quoi, ce langage ? Il y a un nombre limité de variables ? C'est-à-dire que je ne peux pas en créer avec le nom que je veux ?
Oui, c'est exactement ça, gardez toujours à l'idée que le langage BASIC Casio est un langage très limité.
Bon tant pis, je m'y ferai, mais comment fait-on pour afficher une lettre à l'écran ?
Déjà, regardez où les lettres sont situées. Elles sont disséminées un peu partout sur le clavier, mais à chaque fois, elles sont en petit et en rouge au-dessous d'une touche, c'est le signe qu'il faut appuyer sur
Alpha, la touche rouge à gauche de votre clavier.
Imaginons que j'ai un long texte à écrire, c'est pénible d'appuyer toujours sur Alpha avant de faire une lettre, il n'y a pas d'autre moyen ?
Si, bien sûr.

Il suffit pour ça d'appuyer sur
Shift (juste en dessous de
Alpha), et ensuite sur
Alpha : vous pouvez maintenant écrire tout plein de lettres à la suite, notez que pour enlever le
blockage Alpha, il suffit de ré-appuyer dessus, tout simplement.
Maintenant que vous savez écrire des lettres, retournez dans votre programme. Une variable vaut par défaut 0, mais si vous n'êtes pas le seul utilisateur de la calculatrice chez vous, il est fort possible que certaines variables soient utilisées. On va donc les remettre toutes à zéro.
Pour assigner une valeur à une variable, il n'y a rien de plus simple ! il suffit de faire :
Code : Autre
La syntaxe est donc :
nombre à assigner à la variable->lettre de la variable à laquelle vous assignez la valeur.
La petite flèche :
-> se trouve sur votre clavier au niveau de la lettre L : pour la reproduire à l'écran, il suffit juste d'appuyer sur la touche correspondante.
Donc : si on avait voulu remettre à zéro la variable, il aurait fallu écrire :
0->A. Vous voyez, ce n'est pas bien dur

.
Mais si j'avais voulu remettre à zéro toutes les variables, il aurait fallu les écrire une par une ?
Le BASIC est un langage limité, mais quand même, il y a une façon toute simple d'assigner la même valeur à plusieurs variables :
0->A~Z.
Toutes les variables
de A à Z auront maintenant pour valeur 0.
Est-il possible d'assigner une chaîne de caractères à une variable ?
Bonne question. Malheureusement la réponse est non, il est impossible d'assigner des lettres à une variable ; vous ne pouvez assigner que des nombres (10 par variable au maximum).
Afficher une variable
Bon c'est bien, nous savons maintenant comment assigner une valeur à une variable. Mais comment faire pour l'afficher ? Si vous avez testé le code précédent, vous pouvez voir que l'écran affiche la variable directement. La fonction
display permet également d'afficher une variable, vous la trouverez en ouvrant le menu
prgm (attention, ce menu n'a rien à voir avec celui du même nom sur le menu principal) en appuyant sur
shift, puis
vars : un menu avec plusieurs onglets s'ouvre. Vous l'aurez remarqué : l'onglet qui nous intéresse est bien présent. C'est le petit triangle noir à droite, c'est la fonction
display.
Elle s'utilise très simplement, vous pouvez mettre ce petit triangle après une variable et ça en affichera la valeur ; mais vous pouvez aussi vous en servir dans un texte, car si vous écrivez beaucoup, vous vous rendrez compte que le texte défile tout seul à l'écran, faisant disparaître la ligne du dessus. Pour y remédier, insérez la fonction
display là où vous souhaitez que le programme fasse une pause.
Le
display (abrégez
disp) sépare deux instructions, donc pas besoin d'appuyer sur [EXE] après un
disp.
Ok, c'est cool tout ça, mais moi je veux que ma variable s'affiche en bas à gauche de l'écran ! Je fais comment ?
Eh bien avec un
Locate bien sûr ! Si vous voulez placer la valeur de votre variable en bas à gauche, il suffit de l'indiquer !
Code : Autre1
2
3
| 5->A [EXE]
Locate 1,7,A |
Et voilà, tout simplement ! Vous pouvez tout aussi bien ne mettre que des variables !
Code : Autre1
2
3
4
5
6
7
| 21->A [EXE]
7->B [EXE]
5->C [EXE]
Locate A,B,C |
Voilà, vous vous servirez très souvent de ça à l'avenir ! Sur notre écran, dans cet exemple, 5 s'affichera donc en bas à droite ! Faites vos essais, vous comprendrez mieux.
Quelques opérations de bases.
Comme dans n'importe quel langage de programmation, vous pouvez effectuer tout plein de calculs sur vos petites variables !
Exemple :
1+1->A
Vous pouvez effectuer des calculs entre plusieurs variables aussi !
Exemple :
A+2A->A
Alala, ça rappelle de mauvais souvenirs de maths ça, moi je vous le dis

. Mais c'est en fait tout simple à comprendre ! Imaginons que dans le deuxième exemple, A vaut 3 au début. A la fin, il vaudra donc : 9 ! (3 + 6)
Récupérer une valeur entrée
Il n'y a rien de plus simple ! Vous voulez demander à l'utilisateur d'entrer son âge par exemple, pour ensuite le rentrer dans la variable A. Il faudra utiliser la fonction
?, qui se trouve juste à côté du
disp. Par contre, cette méthode ne fonctionne pas avec
Locate.
La procédure est donc la suivante :
Code : Autre1
2
3
| "QUEL AGE AVEZ VOUS "
?-> |
La valeur qu'entrera l'utilisateur sera stockée dans la variable A !
C'est tout ce que vous devez savoir au niveau des variables
La force du Getkey !
Attention, nous allons aborder une chose primordiale !!! Vous vous en servirez tout le temps si vous créez des jeux ! Le
getkey est la valeur de chaque touche. Ainsi, la valeur de la touche
EXE est 31, par exemple. Chaque touche à une valeur appropriée
SAUF la touche
AC/ON.
Ok c'est cool, mais à quoi ça va nous servir de connaître la valeur d'une touche ?
Eh bien tout simplement à savoir quelle touche l'utilisateur à enfoncé ! Donc, la base même d'un menu par exemple. Et en plus, vous savez quoi ? C'est très simple. Regardez cette image :
Si vous essayez de comprendre comment ça marche, vous verrez que ce n'est finalement pas très compliqué. Plus tard dans le cours, quand vous aurez vu les boucles, vous apprendrez à créer un programme qui permet de relever le
getkey d'une touche directement en la pressant, directement dans un programme.
Revenons-en à nos moutons. C'est cool, l'utilisateur a pressé une touche, et après ? Il faut savoir que la touche pressée est stockée dans le
Getkey : donc si vous attribuez le
getkey à une variable, vous pouvez ensuite faire tout ce que vous voulez avec !
Bon, déjà vous devez savoir où se cache cette fameuse fonction ! Eh bien tout simplement au même endroit que
Locate.
Sans les boucles, vous n'allez pas pouvoir faire grand chose avec
Getkey, mais ce n'est pas une raison pour l'oublier : gardez-le bien au chaud quelque part dans votre tête.
Si vous avez tout bon au QCM, c'est vraiment que vous avez tout compris sur les variables !
Voyons maintenant comment vous vous débrouillerez avec les conditions.
Les conditions.
Ce chapitre est court, mais pas moins important pour autant. Vous retrouverez partout ces conditions, alors, comprenez-les bien.
La fonction "If".
La première
fonction conditionnelle que nous allons voir est la fonction
If.
Ok, mais c'est quoi, une fonction conditionnelle ?
Une fonction conditionnelle est une fonction qui permet d'exécuter plusieurs instructions suivant une ou plusieurs conditions. La structure est la suivante :
If condition(s)
Then instruction(s) à respecter
IfEnd
Ces commandes se trouvent dans l'onglet
COM, lui-même situé dans l'onglet
PRGM.
Pour y accéder :
SHIFT / VARS / F1 /...
Avant de continuer, vous devez connaître plusieurs signes :
| Signe | Signification | Combinaison de touches |
|---|
= |
égal à |
SHIFT / PRGM / F6 / REL / F1 |
!= |
n'est pas égal à |
SHIFT / PRGM / F6 / REL / F2 |
> |
supérieur à |
SHIFT / PRGM / F6 / REL / F3 |
< |
inférieur à |
SHIFT / PRGM / F6 / REL / F4 |
>= |
supérieur ou égal à |
SHIFT / PRGM / F6 / REL / F5 |
<= |
inférieur ou égal à |
SHIFT / PRGM / F6 / REL / F6 |
Notez que le signe "n'est pas égal à" sur votre calculatrice est représenté par un égal barré. Notez aussi que l'affichage des signes
inférieur à et
supérieur à diffère de celui de votre calculatrice, ils sont représentés chacun par le signe correspondant, suivi d'une barre parallèle à la dernière barre du signe. Bon, comme je suis gentil, je vous montre une petite image au cas où vous n'auriez vraiment rien compris :
Reprenons maintenant l'exemple du chapitre précédent, lorsqu'on demande l'âge de l'utilisateur. On va écrire une phrase automatiquement en fonction de son âge, regardez cet exemple :
Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| "QUEL EST VOTRE AGE "
?->A
If A>=18 [EXE]
Then "TU ES MAJEUR" [EXE]
IfEnd [EXE]
If A<18 [EXE]
Then "TU ES MINEUR" [EXE]
IfEnd |
Faites vos tests pour comprendre mieux comment opère la fonction. On va maintenant l'améliorer en utilisant la fonction
Else, qui correspond à "sinon" en anglais.
La structure est la suivante :
If condition(s) à respecter
Then instruction(s)
Else instruction(s)
IfEnd
Le code aurait donc donné :
Code : Autre1
2
3
4
5
6
7
| If >=18
Then "TU ES MAJEUR"
Else "TU ES MINEUR"
IfEnd |
Le code s'en voit donc considérablement allégé, mais surtout plus simple à comprendre pour n'importe quel humain.
Remarquez aussi que je n'ai pas mis [EXE] à la fin des lignes, je pense que vous pouvez le faire tout seul dorénavant.
Vous pouvez aussi indiquer plusieurs conditions à respecter grâce aux connecteurs logiques :
And, Or, Not.
Vous trouverez ces connecteurs dans un antre onglet : l'onglet
OPTN. Pour y accéder, utilisez la touche
OPTN, située à coté de
SHIFT.
| Connecteur logique | Signification | Combinaison de touches |
|---|
And |
"et" |
OPTN / F6 / F6 / LOGIC / F1 |
Or |
"ou bien" |
OPTN / F6 / F6 / LOGIC / F2 |
Not |
"n'est pas" |
OPTN / F6 / F6 / LOGIC / F3 |
Autant les deux premiers connecteurs logiques sont assez évidents à comprendre, autant le dernier nécessite quelques petites explications.
Not est un connecteur assez particulier, peu de personnes l'utilisent car, il faut bien le dire, il n'est pas très utile. Concrétement, il sert à dire que quelque chose n'est pas
égal à / supérieur à / inférieur à.
Mais attends, c'est complètement nul ton truc, là ! Si ce n'est pas égal à, il y a déjà un signe pour ! De plus, si ce n'est pas supérieur à, ça signifie que c'est donc inférieur ou égal à, et inversement ! Il est bidon ton connecteur ! non ?
Voilà ! C'est à peu près ce que j'ai voulu dire en disant que son utilité était très réduite, mais vous deviez tout de même savoir à quoi il correspondait.
Le saut conditionnel
Voici une autre fonction, beaucoup plus courte que la fonction
If.
Elle permet d'exécuter une seule instruction, contrairement à la fonction
If, avec laquelle vous pouvez en éxecuter autant que vous le souhaitez ! Mais il faut retenir un avantage non négligeable, le saut conditionel tient souvent sur une ligne.
Reprenons l'exemple de l'âge :
Code : Autre1
2
3
4
5
6
7
| "QUEL AGE AVEZ-VOUS "
?->A
A<18=>"SALUT P'TIT"
A>19=>"SALUT ADULTE" |
La nouveauté ici, c'est bien sûr la double flèche
=>. C'est ce que l'on appelle le saut conditionnel. Vous trouverez cette fonction dans l'onglet
JUMP :
SHIFT \ PRGM \ F3 \ F3.
C'est tout ce qu'il y a à savoir sur les conditions.
Vous voyez, je ne vous avais pas menti en vous disant que les conditions n'étaient pas source de prise de tête...
Le chapitre qui suit est tout aussi intéressant : les boucles.
Les boucles.
Vous voici donc au dernier chapitre de cette Première Partie. Un chapitre indispensable, car vous vous servirez des boucles dans chaque programme futur.
Allez bonne chance, c'est la dernière ligne droite de l'apprentissage des bases du
Basic Casio.
Do: LpWhile
La première boucle que nous allons voir dans ce chapitre est la boucle
Do: LpWhile.
Mais tout d'abord, qu'est-ce qu'une boucle, me direz-vous ?
Une boucle est, comme son nom l'indique, une série d'instructions qui sera répétée en boucle tant qu'une ou plusieurs conditions ne sont remplies.
L'emplacement des boucles sur la calto
Tout au long de ce chapitre sur les boucles, vous allez découvrir de nouvelles fonctions. Pour éviter de vous indiquer à chaque fois leur emplacement, je vous indique ici, en début de chapitre, leur emplacement général. Vous vous rappelez de l'onglet
COM ? Eh bien il va encore nous servir, car toutes les boucles se trouvent dedans.
- Do : SHIFT / PRGM / F1 / F6 / F6 / F3
- LpWhile : SHIFT / PRGM / F1 / F6 / F6 / F4
- While : SHIFT / PRGM / F1 / F6 / F6 / F1
- WhileEnd : SHIFT/ PRGM/ F1 / F6 / F6 / F2
- For : SHIFT / PRGM / F1 / F6 / F1
- To : SHIFT / PRGM / F1 / F6 / F2
- Step : SHIFT / PRGM / F1 / F6 / F3
- Next : SHIFT / PRGM / F1 / F6 / F4
Revenons-en à nos moutons
Entrons maintenant dans le vif du sujet. Comme je vous l'ai dit un peu plus haut, la première boucle que nous allons voir est la boucle
Do:LpWhile.
La syntaxe sera la suivante :
Code : Autre1
2
3
4
5
6
7
| Do ##on initialise la boucle
##instructions à répéter en boucle
LpWhile ##on indique à la suite du LpWhile les conditions à respecter
##fin de la boucle |
Vous remarquerez que j'ai ajouté plusieurs doubles dièses (##) directement dans le code. Vous l'aurez compris, c'est ma façon à moi d'entrer des commentaires pour vous aider. MAIS ATTENTION, vous ne pouvez pas entrer de commentaires de cette façon sur votre calculatrice. En Basic Casio, il est impossible de faire figurer des commentaires en plein milieu du code !
Je vais maintenant expliquer un peu plus en détail ce bout de code. Comme un bon exemple vaut toujours mieux qu'un long discours :
Code : Autre1
2
3
4
5
6
7
8
9
| 1->A
Do
"TEST BOUCLES"
A+1->A
LpWhile A<5 |
Essayez de comprendre ce code par vous-mêmes, combien de fois sera affiché le message "TEST BOUCLES" ?
Secret (cliquez pour afficher)4 fois, eh oui, et non pas 5.
Vous êtes tombés dans le piège ? C'est que vous n'avez pas lu attentivement le code ci-dessus. Bon : je vais expliquer quand même.
Code : Autre
Tout d'abord on initialise la variable A à 1.
Code : Autre
Ensuite on initialise (j'aime bien ce mot

)la boucle.
Code : Autre
1ère instruction :
TEST BOUCLES : c'est le texte qui s'affichera en boucle tant que la condition ne sera pas respectée.
Code : Autre
2ème instruction : sur cette ligne, on demande à la calculatrice d'ajouter 1 à la valeur de A tant que la condition n'est pas remplie. Ainsi, au premier passage de la boucle, la variable
A vaudra 2 (1+1), puis au deuxième, elle vaudra 3 (2+1), et ainsi de suite.
Code : Autre
La boucle se terminera lorsque la condition sera remplie, à savoir lorsque la variable
A sera
inférieure à 5, et non pas
égale à 5. Et je pense que ce fut la raison de votre erreur, si erreur il y eut.
Vous devez impérativement comprendre ce bout de code parfaitement. N'hésitez pas à créer vos propres boucles pour bien comprendre.
Tiens, j'allais oublier. Vous vous souvenez de la fonction
Getkey ? Elle peut déjà nous servir ici. Par exemple, pour attendre que l'utilisateur appuie sur une touche pour continuer.
Exemple : vous voulez que le suite du programme s'affiche seulement si l'on appuie au préalable sur la touche
EXE. C'est tout à fait possible ! Regardez ce bout de code :
Code : Autre1
2
3
4
5
| Do
LpWhile Getkey!=31
##suite du code |
Heu...

il ne manquerait pas des instructions par hasard ?
Eh bien non. Car si l'on réfléchit, que veut-on voir se répèter en boucle ? Oui, rien ! La calculette ne doit rien faire tant que l'on a pas appuyé sur la touche voulue. Examinez la dernière ligne, si l'on traduit cela donnerait : "Continuer la boucle tant que la valeur de la touche pressée n'est pas égale à 31". Or, la valeur 31 est assignée à la touche
EXE, cela revient donc à dire "Continuer la boucle tant que la touche
EXE n'a pas été pressée.
En résumé, on pourrait dire que la calculette va continuer à "ne rien faire" tant que l'on aura pas appuyé sur
EXE.
Un petit exercice pour vous entraîner : écrivez un texte bidon, puis demandez à l'utilisateur d'appuyer sur
EXE pour continuer le programme.
Secret (cliquez pour afficher)Vous avez fini ? Sûr ? J'espère que vous avez réussi, car ce n'est vraiment pas le plus compliqué.
<secret cache="0"><span class="code">Code : Autre</span><div class="code2"><table class="syntaxtable"><tbody><tr><td class="linenos"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><div class="syntax"><pre>"BONJOUR"
"VOICI UN TEXTE TRES"
"BIDON"
" "
" "
" "
"SUITE->[EXE]"
Do:LpWhile Getkey!=31
ClrText
"ET VOILA, C'EST FINI"</pre></div></td></tr></tbody></table></div></secret>
Vous remarquerez que j'ai mis des
: . Ils permettent de séparer deux instructions. C'est exactement comme la flèche, lorsque l'on appuie sur
EXE, mais ça permet de gagner de la place. Mais je vous conseille de n'utiliser les
: que pour ce genre de cas-là.
Whle/WEnd
La boucle
While / Wend (comprenez
While / While End) est quasiment identique à la précédente. Ainsi, je n'aurai pas grand chose à rajouter. La syntaxe n'est par contre pas tout à fait la même, car ici, la condition sera exprimée en début de boucle (alors que, rappelez-vous, avec la boucle précédente, elle était à la fin). Voici donc la syntaxe à respecter :
While condition(s) à respecter
Instruction(s)
WhileEnd
Si elles sont si identiques, pourquoi choisir l'une ou l'autre, alors ?
Eh bien tout simplement parce qu'elles ne sont pas si identiques que ça. Vous l'aurez peut-être remarqué, mais la seconde boucle présente une différence notoire par rapport à la première. Dans le cas d'une boucle
Do/LpWhile, la boucle sera toujours lue au moins une fois, alors que dans le cas d'une boucle
Whle/WEnd, si la condition est déjà remplie dès le départ, la calto (abréviation de calculatrice

) sautera la boucle.
For/To/Next/Step
Cette boucle inclue en elle-même un compteur, ce qui est très utile lorsque vous voulez faire marcher les fonctions à l'intérieur de la boucle un cetain nombre de fois. Et puis il est simple à utiliser. Mais bon, si vous m'écoutez, tout est très simple ; c'est vrai qu'une fois compris, c'est toujours simple ...
For, To, Next
Cette fonction demande une petite chose : une variable, et c'est tout.
Comme d'habitude, la syntaxe :
For la valeur de départ que vous donnez à la variable,
To la valeur d'arrivée de la variable
les fonctions à éxécuter
Next
Le chemin d'accès des fonctions
For,
To et
Next est :
SHIFT \ PRGM \ F1 \ COM \ F6 .
Toutes les fonctions sont là :
For ,
To,
Step (une fonction que nous verrons à la fin de cette partie), et
Next.
Je reconnais que comme ça, ça ne parait pas évident ; mais un petit exemple vous aidera à mieux comprendre : imaginez que vous ayez copier sur votre voisin, et que vous ayez eu comme punition à copier 10 fois "Je ne dois pas tricher". Eh bien à la calculatrice, ce serait un jeu d'enfant :
Code : Autre1
2
3
4
5
| For 1->A To 10
"JE NE DOIS PAS COPIER"
Next |
Alors, les explications :
- la variable A prend comme valeur de départ 1 (For 1->A), et devra s'arrêter lorsqu'elle aura atteint la valeur 10 (To 10).
- La phrase s'affiche à l'écran.
- La variable A voit augmenter sa valeur de 1 (Next).
La boucle s'exécutera alors jusqu'à ce que la variable
A ait atteint la valeur 10 ; c'est-à-dire lorsqu'elle aura écrit 10 fois la phrase.
Voilà déjà un premier avantage à être programmeur... non ? Les punitions faites en 30 secondes, c'est pas beau, ça ?
Est-on obligé d'augmenter la valeur de 1 ? Est-ce qu'on pourrait l'augmenter de 2, par exemple ?
Ben on ne peut pas dire que vous n'êtes pas curieux. Mais de toute manière, cette question tombe à pic : c'est exactement ce que je veux vous montrer après. Il est donc possible de choisir le
pas (eh oui, c'est comme ça que ça s'appelle) pour augmenter la valeur différement.
For, To, Step, Next
C'est exactement la même syntaxe, sauf que sur la ligne où l'on déclare les valeurs de départ et d'arrivée, on rajoute le pas :
For valeur de départ To valeur d'arrivée Step pas
Je n'ai pas vraiment d'idée pour trouver un bon exemple ; on va donc en faire un débile. Créons un programme qui compte de 2 en 2 en partant de 10, et en allant à 30 :
Une fois cette fonction insérée, votre curseur ira directement à la ligne : c'est normal.
Code : Autre1
2
3
4
5
| For 10->A To 30 Step 2
A¤
Next |
Pas besoin de vous expliquer ce programme, vous l'avez compris ?
Vous devez vous dire (vu les exemples que j'ai choisis) que cette fonction n'est pas très utile, mais vous vous trompez lourdement ; lorsque vous ferez des jeux, elle vous sera plus qu'utile.
Merci beaucoup à Ilae qui à écrit ce mini-tuto sur la boucle for que j'ai à peine modifié.
Eh bien voilà : la fin de ce chapitre marque aussi la fin de cette Première Partie. Vous êtes prêts pour la programmation graphique, mais faites une petite pause avant, car maintenant on enclenche la vitesse supérieure...
TPs
Voilà une petite série de TPs (Travaux Pratiques) que vous devrez être en mesure de réaliser. Allons-y !
Votre premier jeu : Le + ou - .
Nous y voici enfin ! Votre premier TP !
Je n'ai en ce moment, je dois dire, que très peu de temps à vous consacrer. Mais je fais de mon mieux et j'arrive donc aujourd'hui avec le TP du jeu + ou -.
Vous connaissez tous ce jeu, n'est-ce pas ?
Bah oui bien sûr, quoique, heu en fait non pas vraiment...
Le jeu consiste à faire deviner le nombre mystère choisi de manière aléatoire (oula...) par la calculatrice en un nombre limité de coups, et tout ça par le biais d'indices simples, tels que "Non c'est plus !" ou encore "Non c'est moins !", d'où le nom du jeu vous l'aurez compris ! Vous êtes prêts ? Alors allons-y !
Par où commencer ?
Par la théorie ! Eh oui, le passage obligé (même pour les petits jeux) que malheureusement beaucoup zappent ! A tort, bien sûr. C'est absolument indispensable si vous ne voulez pas vous paumer dans votre propre code, car la calculatrice impose une contrainte de plus : un faible champ de vision !
Un bon brouillon s'impose donc.
Ok cool, un brouillon, pas de problème, mais heu, faut écrire quoi dessus ?
Le brouillon s'organise en plusieurs étapes :
De prime abord
Dans un premier temps, il serait bien de recenser toutes les variables dont on aura besoin dans notre code, en signalant clairement ce que chacune signifiera.
Réfléchissons :
- on aura tout d'abord besoin d'une variable M "nombre mystère",
- puis ensuite d'une variable "nombre entré" N.
En théorie, ces deux variables nous suffiraient. Bien sûr, vous pouvez choisir la lettre que vous voulez pour les définir.
Réfléchir sur les boucles
Avant de réfléchir sur la boucle la plus appropriée, il faut d'abord réfléchir sur ce que l'on veut faire.
- 1. Le nombre mystère est choisi.
- 2. On demande d'entrer un nombre à l'utilisateur.
- 3. Une fois le nombre rentré, plusieurs possibilités s'offrent à nous :
- 4. soit N est supérieur à M, et dans ce cas on affiche "Plus petit",
- 5. soit N est inférieur à M, et on affiche "Plus grand",
- 6. soit N = M, et dans ce cas on affiche "Bravo".
- 7. Si le nombre mystère n'a pas été trouvé, on retourne à l'étape 2.
- Si le nombre mystère est trouvé, le programme s'arrête.
Voilà tout le nécessaire pour le moment.
Voici maintenant le moment où il faut réfléchir sur la boucle la plus appropriée.
Il paraît évident que la boucle
If est la seule appropriée (avec le saut conditionnel) pour les parties 4 à 6.
Vient ensuite la boucle principale. Celle qui englobera tout le programme. Bien sûr, vous pourriez choisir la facilité et utiliser des
Goto, mais inconsciemment vous choisiriez ainsi la lenteur d'exécution. Certes, pour un programme tel que celui-ci ce n'est pas très important, mais plus tard ça le sera.
Je vous conseille donc (je vous ordonne même

) d'utiliser la boucle
Do/LpWhile qui englobera tout le programme.
Concrètement celui-ci se présentera ainsi :
- 1. On crée le nombre mystère aléatoirement.
- 2. On initialise la boucle Do.
- 3. Le programme se déroule (boucle if et compagnie).
- 4. LpWhile N n'est pas égale à M.
Voilà donc pour la théorie ! Vous devriez être prêts pour la pratique !
La pratique
Ok c'est bon, je suis chaud bouillant là ! Je vais suivre les indications à la lettre ! Alors... "1. Le nombre mystère est choisi". Arg ! C'est quoi ça ? Comment on crée un nombre aléatoirement ?
Effectivement, je ne vous ai toujours pas indiqué la marche à suivre. Je vous donne la syntaxe, et j'explique ensuite :
Int(100Ran#+1)
J'en vois déjà tirer des têtes de six pieds de long ! Mais rassurez vous, c'est très très simple !
Tout d'abord le référencement :
Int : OPTN / F6 / F4 / F2
Ran# : OPTN / F6 / F3 / F4
Maintenant j'explique :
- Int permet d'arrondir un résultat.
- 100 est le nombre qui définira la zone à prendre en compte (ici les nombres de 0 à 99).
- Ran# est la commande qui choisira un nombre aléatoire (random en anglais).
- Le + 1 est très important. Sans lui, la calto choisirait un nombre entre 0 et 99. Grâce à lui, elle choisira entre 1 et 100 !
Le
Int est primordial, car la calto choisira un nombre entre 1 et 100, mais que ferez-vous si elle choisit 68.7548135 ? Le
Int arrondira le tout, et il ne sera gardé que le 68. Au final, si vous voulez stocker ce nombre dans la variable M, il faudra écrire :
Int(100Ran#+1)->M tout simplement.
A vous de jouer !
Vous avez maintenant tous les outils en mains : allez, faites-moi tous de beaux programmes (même ceux qui ont un peu d'avance

).
Posez vos caltos ! C'est l'heure de la correction !
Tout d'abord, si vous avez réussi : bravo ! Je vous félicite. Par contre, si vous avez un peu séché, je vous conseille de relire le cours et vous devriez y arriver. Si vraiment vous aviez toujours des problèmes, regardez la correction et essayez de comprendre vos erreurs.
Secret (cliquez pour afficher)Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| Int (100Ran#+1)->M #On génère le nombre mystère
Do #on initialise la boucle, elle englobera tout le programme
"NOMBRE "?->N #On garde le nombre entré dans la variable N
If N>M
Then "PLUS PETIT"
Else If N>M
Then "PLUS GRAND"
Else "BRAVO" #si N est ni inférieur ni supérieur à M, ça signifie qu'il est égal
IfEnd
IfEnd
LpWhile N!=M #La boucle se répète tant que le nombre mystère n'a pas été trouvé
Stop |
Vous trouverez le
Stop ici :
SHIFT / PRGM / F2 / F4
Il permet d'arrêter le programme si vous appuyez sur AC/ON, mais si vous appuyez sur
EXE, le programme reprendra.
Je vous invite, pour prendre un peu d'avance sur le prochain TP, à vous rendre sur le tuto de Lpu8er.
Vous voyez : ce n'était pas si compliqué.
Quelques idées d'améliorations
Vous pouvez maintenant améliorer ce programme :
- ajouter un menu (à l'aide des techniques que vous connaissez) dans lequel pourraient figurer les crédits, le choix de la difficulté, la version du programme, etc.
- Inclure un mode deux joueurs.
- Demander le choix de la difficulté (100 ; 1000 ; 10000) : il faudra alors une nouvelle variable, D par exemple, qui contiendra le nombre correspondant à la difficulté. Vous devrez donc écrire :Int(DRan#)+1
- Un compteur de coups.
- etc.
Vous avez de quoi vous amuser pour un petit moment ! Et puis, pour peu que vous arriviez à faire tout ça (et je suis sûr que vous y arriverez), le TP 2 vous attend ! N'est-ce pas merveilleux...
Un programme utile conçernant le Getkey
Abordons maintenant le second TP qui, je dois bien le dire, vous sera très utile plus tard !
Ce programme peut tenir en seulement 3 lignes de code ! Oui vous avez bien lu, par conséquent il va être très rapide pour moi de vous indiquer la marche à suivre :
- 1. On veut afficher la valeur du Getkey entrée par l'utilisateur.
- 2. Et c'est tout !
Bien sûr, ce programme nécessite au moins une boucle : celle qui englobera tout le programme.
A vous de jouer !
Derniers petits indices :
- vous n'avez pas besoin de "vraies" variables, car la valeur assignée à Getkey est stockée dans la variable Ans.
- Vous utiliserez l'instruction Locate pour afficher la valeur.
- Je vous force à utiliser la boucle Do/LpWhile pour corser un tout petit peu le programme.

Je pense avoir quand même laissé un nombre suffisant d'indices... Par conséquent, vous devriez être tous en mesure de réaliser ce mini-programme qui vous sera d'une grande aide plus tard.
Posez vos caltos, c'est l'heure de la correction !
Secret (cliquez pour afficher)Code : Autre1
2
3
4
5
| Do
Locate 9,4,Getkey #eh oui, on peut faire ça !
LpWhile 1=1 #la boucle sera répétée tant que 1=1 c'est-à-dire tout le temps. |
Le troisième TP sera plus dur... alors tenez vous prêts.
Réalisation d'un Pierre/Feuille/Ciseaux
Voici maitenant le dernier TP de cette Partie concernant un jeu mondialement connu, j'ai nommé : Le "Pierre / Feuille / Ciseau" !
Autant vous le dire tout de suite, ça ne va pas être aussi simple que le jeu du "+ ou -". Pas beaucoup plus dur en fait, mais disons qu'il nécessitera plus de réfléxion de votre part. Commençons :
Si je dis théorie, vous me répondez quoi ?
"Brouillon" bien sûr. Comme d'habitude, il faut commencer par une réfléxion sur papier. Bon, étant encore dans la Partie I, je vais vous guider un peu.
Dans un premier temps
Comme pour le jeu précédent, nous allons recenser toutes les variables dont on aura besoin :
- tout d'abord, il nous faut une variable dans laquelle sera stockée un chiffre (entre 1 et 3) qui indiquera le choix de l'ordinateur. Par exemple, 1 correspondrait à la pierre, 2 à la feuille et 3 au ciseau.
- Une variable avec comme valeur le choix du joueur. On pourrait reprendre l'exemple ci-dessus.
Ce sont les deux seules variables vraiment indispensables pour réaliser ce programme.
Maintenant, préoccupons-nous du déroulement du programme.
Il faut à présent avoir une réflexion rigoureuse et linéaire sur les différentes boucles que l'on utilisera.
- 1. On génére un nombre aléatoire compris entre 1 et 3, qui correspondra au choix de la calto, dans la variable A.
- 2. On fait un menu (voir ci-dessous pour un peu d'aide) qui demande au joueur de choisir entre pierre, feuille ou ciseau.
- 3. On stocke la demande dans la variable B, par exemple.
- 4. Ensuite, plusieurs choix s'offrent à nous :
- 5. soit le joueur perd,
- 6. soit le joueur gagne.
- 7. On demande au joueur s'il veut faire une autre partie, et au besoin on retourne à l'étape 1.
Le menu
Si l'on y réfléchit bien, un menu est en fait très simple à réaliser. Il consiste juste à effectuer une action en fonction d'une touche pressée par l'utilisateur.
Vous l'aurez compris, vous allez vous servir de la fonction
Getkey couplée à la fonction conditionelle
If / Then / IfEnd. Je vous laisse vous creuser les méninges avec ça...
Normalement, vous devriez comprendre qu'il faudra utiliser une boucle qui englobera tout le programme.
Pour le reste, je pense que vous pouvez vous débrouiller avec ce que vous avez déjà.
C'est l'heure de la correction !
Alors ? Ce TP ne vous a pas posé trop de problèmes j'espère...
Voici la correction que je vous propose. Notez bien que j'ai essayé de complexifier au maximum ma correction pour que vous ayez une première idée réelle de ce que vous pourrez faire avec un peu de réfléxion, mais surtout, grâce aux connaissances que vous avez déjà...
Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
| Do
ClrText
Int (3Ran#+1)->A
Locate 3,1,"Choisir u
n signe"
Locate 1,3,"1.Pierre"
Locate 1,4,"2.Feuille"
Locate 1,5,"3.Ciseaux
"
Do #Cette boucle sera expliquée après la correction
Getkey->r
LpWhile ((r=72) Or (r
=62) Or (r=52))=0
r=72=>1->B
r=62=>2->B
r=52=>3->B
ClrText
Locate 1,1,"Vous :"
8->C
1->D
Goto 1
Lbl 2
Locate 1,2,"Calto :"
9->C
2->D
Lbl 1
(D=1 And B=1) Or (D=2
And A=1)=>Locate C,D,
"Pierre"
(D=1 And B=2) Or (D=2
And A=2)=>Locate C,D,
"Feuille"
(D=1 And B=3) Or (D=2
And A=3)=>Locate C,D,
"Ciseaux"
D=1=>Goto 2
If ((B=1 And A=3) Or
(B=2 And A=1) Or (B=3
And A=2))
Then Locate 9,4,"Gagné !"
Else If B=A
Then Locate 9,4,"Egalité."
Else Locate 9,4,"Perdu..."
IfEnd
IfEnd
Locate 1,7,"Rejouer ?
1.Oui 2.Non"
Do
Getkey->r
Lpwhile ((r=72) Or (r
=62))=0
LpWhile r=72 |
Ne vous affolez pas, vous connaissez tout ce qui est écrit et vous pouvez le comprendre ! Mais bon je me sens de bonne humeur, donc je vais vous expliquer tout ça.
En détail
Bon, reprenons ligne par ligne le code.
Code : Autre
La première ligne du code. On demande ici à la calto d'initialiser la boucle, qui sera la boucle qui englobera tout notre jeu.
Code : Autre
Si le joueur demande à refaire une partie, c'est ici qu'il sera renvoyé : donc l'écran doit être effacé.
Code : Autre
Vous devriez sans problème comprendre que l'on assimile un nombre aléatoire entre un et trois à la variable A. Ce nombre correspondra aux différents signes. Respectivement :
Code : Autre1
2
3
4
5
| Do
Getkey->r
LpWhile ((r=72) Or (r=62) Or (r=52))=0 |
Cette boucle doit vous sembler un peu obscure. Je vous rassure : c'est tout à fait normal ! Je vais vous aider à la comprendre. Tout d'abord, vous devez savoir que si une condition est remplie, elle renvoie la valeur 1 ; si la condition n'est pas remplie, elle renvoie la valeur 0. Revenons-en à notre boucle. On demande dans un premier temps de stocker la valeur du
Getkey dans une variable (ici la variable
r, mais libre à vous de choisir celle que vous préférez).
Mais attends un peu là, tu ne nous avais pas dit que Getkey était déjà une variable ? Pourquoi dans ce cas stocker sa valeur dans une autre variable ?
Bonne question, il existe deux réponses.
Tout d'abord, le fait d'écrire simplement
r au lieu de
Getkey fait gagner du temps et de la place dans le programme.
D'autre part, lorsque vous ferez des programmes plus importants, il se peut que plusieurs
Getkey soient impliqués dans la même boucle, vous serez donc obligés de stocker leur valeur dans une variable.
La dernière ligne de la boucle est la plus importante, car c'est elle qui définit la condition. Concrètement, qu'est-ce que l'on veut ? On souhaiterait que le programme affiche en continu le menu, tant que le joueur n'a pas choisi un signe. Eh bien c'est exactement ce que l'on demande de faire à notre calto dans cette condition !
Regardez bien : si vous avez fait le TP sur le
Getkey, vous devriez savoir que la touche 1 correspond à 72, la touche 2 à 62, et la touche 3 à 52. Rappelez-vous aussi que lorsqu'une fonction n'est pas remplie, elle renvoie la valeur 0. Donc, ce que l'on demande à notre calto ici c'est de continuer à demander sur quelle touche appuyer tant que le joueur n'a pas appuyé sur cette touche. C'est assez difficile à expliquer, mais c'est en fait très très simple ! Comprenez bien cette boucle, elle est vraiment importante et elle vous servira pour tous vos programmes !
Code : Autre1
2
3
4
5
| r=72=>1->B
r=62=>2->B
r=52=>3->B |
Ce bout de code est lui aussi très simple. On demande juste à la calto qu'elle stocke notre choix en fonction de la touche sur laquelle on a appuyé dans la variable B.
Code : Autre1
2
3
4
5
6
7
| Locate 1,1,"vous :"
8->C
1->D
Goto 1 |
Ces variables correspondent à l'emplacement où la calto devra écrire le choix du joueur : pierre, feuille, ou ciseau. La variable C correspond à l'emplacement sur la ligne, et la variable D correspond à la ligne sur laquelle devra être écrit le signe. Donc, on pourrait conclure que si D vaut 1, alors c'est notre signe qui est concerné, et que si D vaut 2, c'est celui de la calto qui va être pris en compte.
On demande en dernier lieu à la calto de se rendre au Lbl 1.
Oula... je croyais qu'il fallait éviter d'utiliser Lbl / Goto ?
C'est exact, dans les gros programmes, car dans ce cas ils ralentissent son exécution. Dans un programme comme le nôtre, on peut tout à fait les utiliser, mais il existe une autre méthode que je vous enseignerai plus tard.
Code : Autre1
2
3
4
5
| Locate 1,2,"Calto :"
9->C
2->D |
Idem que ci-dessus.
Code : Autre1
2
3
4
5
6
7
8
9
| Lbl 1
(D=1 And B=1) Or (D=2 And A=1)=>Locate C,D,"Pierre"
(D=1 And B=2) Or (D=2 And A=2)=>Locate C,D,"Feuille"
(D=1 And B=3) Or (D=2 Ans A=3)=>Locate C,D,"Ciseaux"
D=1=Goto 2 |
Voici maintenant la partie la plus intéressante. Si vous avez fait cette technique par vous-mêmes, bravo, vous avez des prédispositions à l'optimisation

.
Concrètement, à quoi sert ce bout de code ? Eh bien tout simplement à écrire le signe de la calto et le vôtre. Comprenez ce script, il n'est pas primordial mais très important.
La dernière ligne est un peu plus subtile. Essayer de l'enlever, vous verrez bien.
Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| If ((B=1 And A=3) Or
(B=2 And A=1) Or (B=3
And A=2))
Then Locate 9,4,"Gagné !"
Else If B=A
Then Locate 9,4,"Egalité."
Else Locate 9,4,"Perdu..."
IfEnd
IfEnd |
Cette boucle va permettre à la calto de savoir si vous avez gagné ou perdu, ou bien s'il y a égalité. Remarquez l'utilisation des
Else.
Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
13
| Locate 1,7,"Rejouer ?
1.Oui 2.Non"
Do
Getkey->r
Lpwhile ((r=72) Or (r
=62))=0
LpWhile r=72 |
Cette fois-ci, on demande au joueur s'il veut rejouer. S'il appuie sur la touche 1, alors la variable
r qui contient la valeur du
Getkey vaut 72, et le programme retourne alors au premier
Do du script.
Et voilà ! Vous pouvez maintenant vous lancer dans la seconde Partie de ce tutoriel !
Vous disposez maintenant de bases solides : nous allons pouvoir entamer la seconde partie. Celle-ci sera plus axée vers tout ce qui est dessin, vous allez voir, ça va être bien.
Partie 2 : Programation graphique
Cette partie sera surtout axée sur les différents "outils" de dessin, et puis sur une façon d'afficher du texte. Parce qu'une fenêtre de 21 * 7 c'est bien, mais je vais maintenant vous proposer une fenêtre de 127 * 63 et... c'est mieux !
Quelques petits réglages.
Vous voilà donc dans le premier chapitre de la 2nde Partie. Vous allez enfin pouvoir dessiner ! En fait, non... pas tout de suite, à vrai dire. Il faut avant tout effectuer quelques petits réglages...
Définir une fenêtre d'affichage
La première chose que l'on fait, lorsque l'on veut créer un programme avec graphisme, c'est de définir une fenêtre d'affichage.
Et... c'est quoi ?
Une fenêtre d'affichage est un repère géométrique. En gros, c'est lui qui va définir sur quelle zone vous pourrez "dessiner". Ce qui nous intéresse, c'est de pouvoir dessiner sur l'écran tout entier. Donc il va falloir entrer un repère qui prend tout l'écran en compte.
Vous devez tout d'abord savoir que celui-ci est composé de
127 px de largeur et de
63 px de hauteur.
Rendez-vous maintenant dans le menu
Run de votre calculatrice. Effectuez la manip' suivante :
SHIFT\F3
Vous voilà devant le
ViewWindow actuel de votre machine.
Oula... mais c'est quoi tous ces nombres ?
Xmin est la valeur minimum de X (donc sur les abscisses).
Max est la valeur maximum de X (toujours sur les abscisses).
scale est la valeur du "pas" sur l'axe des abscisses.
Ymin est la valeur minimum de Y (donc sur les ordonnées).
Max est la valeur maximum de Y (toujours sur les ordonnées).
scale est la valeur du "pas" sur l'axe des ordonnées.
J'admets que ça peut paraître assez rebutant... voici un schéma pour vous aider à comprendre :
Vous excuserez mes piètres talents de dessinateur, mais je trouve que pour Paint ce n'est pas trop mal.
Maintenant vous devriez être en mesure de comprendre comment créer un repère qui inclura tout l'écran. Non ? Bon allez, je vous aide (je suis là pour ça après tout

).
Secret (cliquez pour afficher)
Xmin :1
Xmax :127
Xscale :0
Ymin :1
Ymax :63
Yscale :0
Comment je fais maintenant pour effectuer cette action directement dans un programme ?
Eh bien c'est très simple ! Ouvrez un nouveau programme et faites la manipulation suivante :
SHIFT\F3\F1. Entre chaque propriété vous devez placer une virgule. La syntaxe pour créer le même repère que ci-dessus est donc :
Code : Autre1
| ViewWindow 1,127,0,1,63,0 |
Essayez ce bout de code : l'écran affichera... rien du tout ! Car nous n'avons tout simplement pas donné d'ordre pour dessiner à la calculatrice. Par contre le repère, lui, est bien actif. Allez dans le menu
RUN et vous verrez qu'il est maintenant instauré.
Si l'on veut commencer à dessiner, il va falloir effectuer quelques petits réglages...
Les réglages indispensables.
Lorsque vous ferez un dessin, je doute que le fait de voir l'axe, les coordonnées de chaque point et j'en passe, ne vous intéresse. C'est pour ça qu'avant tous vos programmes "graphiques" vous devrez régler quelques petites choses.
Le menu qui nous intéresse est le menu
SET UP. Pour y accéder, créez un nouveau programme, puis faites :
SHIFT\MENU. Les onglets qui nous concernent sont les 4 derniers de la ligne. Je vais les détailler :
- COOR : affiche ou non les coordonnées de vos points.
- GRID : affiche ou non la grille.
- AXES : affiche ou non vos axes.
- LABL : affiche ou non les symboles "x" et "y" au niveau des abscisses et des ordonnées.
Si vous voulez que dans vos programmes l'on voit juste vos dessins, il faudra mettre tout ce petit bazar sur 'off'. Pour ce faire, rien de plus simple. Sélectionnez l'onglet concerné, et appuyez sur
F2, qui correspond à 'off'.
Bien, maintenant que notre repère est créé et que nos petits réglages sont ajustés, nous allons pouvoir commencer vraiment à faire quelque chose de concret.
C'est bon, tout est réglé ! Nous allons pouvoir commencer...
Afficher du texte.
Vous allez apprendre dans cette partie comment afficher du texte, mais plus en mode <italique><gras>Locate</gras></italique> cette fois
Afficher votre texte
Nous sommes enfin arrivés au mode graphique proprement dit. Je vous préviens tout de suite, écrire du texte en mode graphique est plus compliqué qu'en mode "Locate".
Heu... beaucoup plus compliqué ?
Non, je vous rassure, ce n'est pas
beaucoup plus compliqué : on va juste dire que c'est moins instinctif au début. En mode
Locate, votre calculette était composée de 21 colonnes et de 7 lignes. En mode graphique, on ne raisonne pas exactement de la même façon. On a moins de contraintes au niveau du placement. On doit indiquer les coordonnées du début du texte à écrire et la calto se charge du reste, à l'image de ce qui se passe en mode
Locate.
Sauf que cette fois-ci, au lieu de donner les coordonnées d'une "case" comme on le ferait en mode
Locate, on donne les coordonnées d'un pixel.
Bon, voilà un petit schéma (toujours fait avec Paint

) qui devrait vous éclairer :
Le premier nombre représente les ordonnées et le second les abscisses. Pour écrire un texte en mode graphique, la syntaxe sera donc :
Code : Autre
Vous trouverez
Text ici :
SHIFT \ F4 \ F6 \ F6 \ F2.
Essayez maintenant de taper n'importe quoi dans le menu
RUN avec cette technique.
La valeur maximum que vous pouvez donner en ordonnée est 58, car au-delà le texte n'aura pas la place pour s'afficher.
Ça à l'air simple pourtant0 non ?
C'est plus compliqué qu'en apparence. Essayez de taper dans le menu RUN :
Code : Autre.
OPTN \ F6 \ F3 \ F1 pour le point d'exclamation.
Arg !!! Le texte que j'avais écrit au test précédent est resté ! Pourquoi ???
Tout simplement parce que la calculatrice l'a gardé en mémoire ! C'est ce que l'on appelle le
DrawMemory. Si tout à l'heure vous aviez écrit votre texte aux mêmes coordonnées, les deux textes auraient pu se retrouver superposés. Pour résoudre ce problème, il va falloir effacer l'écran.
Enfin quelque chose que je sais faire, un petit ClrText et hop ! Quoi ? Ça ne marche pas ???
Eh oui, la fonction
ClrText s'utilise seulement pour effacer du texte écrit en mode "Locate". Si vous voulez effacer du texte écrit en mode graphique, il va falloir utiliser la fonction
clear screen :
Cls. Vous la trouverez ici :
SHIFT \ F4 \ F1 .
"Text"...mieux que "Locate" ?
En voilà une bonne question ! Il est difficile d'y répondre clairement car tout dépend du type de programme que vous voulez faire ainsi que de vos exigences... Voici tout de même un petit listing des inconvénients et avantages de la fonction
Text par rapport à la fonction
Locate.
Les avantages
- Une plus grande souplesse dans l'utilisation. Vous pouvez écrire plus, et où vous le voulez sur l'écran.
- Le texte est gardé en mémoire via le DrawMemory. Cela peut sembler être un inconvénient au début, mais en fait c'est très pratique. Vous verrez par la suite de quoi je veux parler.
- Vous pouvez écrire sur le même écran que vos dessins.
- Permet d'utiliser la fonction Disp sans qu'il ne soit affiché "-Disp-" à l'écran.
- Et... c'est à peu près tout...
Les inconvénients
- Chaque lettre ne prend pas forcément la même place en longueur. Par exemple, un A prend 3 px de largeur alors qu'un W en prendra 5, ce qui vous oblige à tâtonner pour trouver l'emplacement exact d'un texte à placer en milieu de ligne.
- Moins rapide à afficher que le Locate.
- Ne permet pas d'utiliser la syntaxe avec la fonction ?->variable.
Comme vous pouvez le voir, c'est assez équilibré. En bref, je dirais que si vous souhaitez faire un programme sur votre cours par exemple, il est préférable d'utiliser la fonction
Locate, et si vous souhaitez réaliser un programme plus complexe qui utilisera l'écran graphique, la fonction
Text sera plus adaptée

.
Des lignes, des cercles, des points.
Ça y est ! Je vous l'assure, c'est dans ce chapitre que vous allez enfin pouvoir réellement commencer à faire joujou avec des petits dessins.

Bon, ok, rien d'extraordinaire... mais c'est déjà ça ! Depuis le temps que vous l'attendez, je pense que vous devez être prêts... Go !
La base : Afficher des points.
Nous entrons maintenant dans le vif du sujet ! Il va falloir être attentif, sinon vous allez vite couler...
C'est si compliqué que ça ?
Ce n'est pas compliqué, c'est complexe. La nuance est grande. Vous allez apprendre les bases du graphisme, donc ça vous resservira dans chaque programme. Si vous le voulez bien, commençons.
Dans un premier temps, créez un nouveau programme (j'espère que vous n'avez pas besoin de moi, quand même...). Intitulez-le : "TESTPXL".
Petite question : que devez-vous faire en premier, étant donné que vous allez créer un programme contenant des graphismes ?
Heu... les réglages de la fenêtre graphique et des options ?
Exactement ! Commencez toujours par ça. Réglez donc votre fenêtre graphique pour qu'elle comprenne l'écran dans sa totalité. Concernant les autres réglages, mettez les
axes,
label,
grid et
coord sur 'off', et n'oubliez pas le
Cls, sans quoi vous risqueriez de vous retrouver avec un dessin fait auparavant.
Sachez qu'il existe plusieurs façons pour afficher un point à l'écran, mais avant, une petite mise au point s'impose :
Voici les coordonnées de votre écran. Vous remarquez que le premier chiffre d'un couple représente la position du point sur les abscisses (l'horizontale), et qu'à l'inverse, le second chiffre représente la position du point sur l'axe des ordonnées (la verticale).
Petite question : si je veux afficher un point au milieu de l'écran, quelles vont être ses coordonnées ?
Je sais ! 127 / 2 = 63.5, et 63 / 2 = 31.5 : les coordonnées seront donc : 63.5, 31.5, non ?
Le raisonnement est bon, mais la réponse est fausse. On arrive au second point que je voulais aborder. Les pixels sont des points qui composent votre écran. Par conséquent, leurs coordonnées seront des nombres entiers, c'est logique : on ne fait pas des "moitiés de pixels".
Donc, la réponse serait plutôt :
Code : Autre
PlotOn ? C'est quoi ça ?
Eh bien, tout simplement la commande qui vous permettra d'afficher ce fameux point ! Comme vous le remarquez, la syntaxe est on ne peut plus simple :
PlotOn coordonnée en x,coordonnée en y
La très grande majorité des fonctions graphiques que vous utiliserez se trouvent dans le menu
Sketch, qui correspond au bouton
F4 de votre Casio.
Ainsi, pour accéder à la fonction
PlotOn, il faudra faire :
SHIFT \ F4 \ F6 \ F1 \ F2.
Maintenant, à vous de jouer ! Essayez d'afficher des points un peu partout sur l'écran ! Combinez vos connaissances : essayez de demander au joueur où il veut que ses points soit affichés, en pensant bien sûr à faire quelques vérifications toutes simples sur les nombres entrés, pour être sûr qu'un petit rigolo n'entre pas par exemple 15260,658.
Ce n'est pas très compliqué, et vous devriez être tout à fait capables d'y arriver.
Revenons-en à nos moutons si vous le voulez bien.
Comme je vous l'ai signalé tout à l'heure, il existe d'autres moyens pour afficher un point. On va se servir de la fonction
PxlOn, qui se trouve ici :
SHIFT \ F4 \ F6 \ F6 \ F3 \ F1. Et de nouveau, une petite explication s'impose :
Vous remarquez ce qui a changé ? Le couple est maintenant sous la forme :
PxlOn y,x.
La valeur de x est toujours l'horizontale de gauche à droite, mais par contre, celle de y est devenue la verticale de haut en bas. Notre point au milieu aura donc pour coordonnées :
Code : Autre
Le point au milieu de l'écran est un mauvais exemple ! Il ne suffit pas d'intervertir les coordonnées entre PlotOn et PxlOn, comme c'est le cas pour ce point. Si vous en faites un tout en haut, avec Plot il aura pour coordonnées y = 63, et avec PxlOn, y = 1. Si vous comprenez ça, vous avez tout compris !
Ok, c'est cool de faire tout plein de points, mais je ne pourrais pas effacer ceux qui ne me servent plus ?
Bien sûr que si ! Heureusement, et ce sera même très rapide. En gros, la syntaxe est exactement la même. Sauf qu'au lieu d'utiliser
PxlOn, on va maintenant utiliser...
PxlOff !
Décidément, le BASIC CASIO est vraiment trop difficile...
Code : Autre
Ces petits points n'ont pas fini de vous étonner...
Éteindre ou allumer un pixel
Nous allons maintenant aborder une partie intéressante. Vous allez voir que votre calto en sait des choses !
Bon, vous savez afficher des points, et même les effacer. Mais que diriez-vous de pouvoir allumer un pixel s'il est éteint, et à l'inverse, l'éteindre s'il était allumé ? C'est tout à fait possible, et c'est très simple en plus !
Les fonctions qui nous intéressent sont :
PlotChg et
PxlChg.
Il suffit ensuite d'indiquer les coordonnées du pixel à changer (en faisant attention à la syntaxe en fonction de l'utilisation de l'une ou l'autre fonction), et c'est tout !
Code : Autre
Tester un pixel
Derrière ce titre plutôt abstrait, se cache une fonction utile, mais qui, je ne vous le cache pas, est très lente. Par conséquent, elle ne vous servira que dans des cas très isolés, mais vous devez savoir que ça existe. C'est encore une fois très simple... Il y a juste une toute petite contrainte. La fonction que nous utiliserons ici est la fonction
PxlTest, mais il n'existe pas de fonction
PlotTest. Par conséquent, si vous êtes plus familiarisés avec
Plot qu'avec
Pxl, vous devrez faire avec. Vous trouverez cette fonction ici :
SHIFT \ F6 \ F6 \ F4.
Elle travaille de la manière suivante :
- 1. Vous entrez les coordonnées du point à tester.
- 2. La calculette va tester le pixel. Elle va retenir 1 s'il est allumé, ou 0 s'il est éteint.
- 3. Le résultat est stocké dans la variable Ans.
Vous l'aurez compris : la syntaxe est donc :
Code : Autre
C'est à peu près tout ce que vous deviez savoir sur l'affichage de points. Allumer les pixels un par un reste tout de même assez long et fastidieux... Que diriez vous de tracer des lignes maintenant ?
Tracer des lignes
Nous y voilà enfin. C'est maintenant que ça va devenir intéressant, et que vos possibilités de graphisme et de jeux vont décuplées ! Et devinez quoi ? Cerise sur le gâteau, c'est très simple !

Allez au boulot.
Il existe plusieurs méthode pour tracer une simple lignes, en faite il en existe 3, oui je sais ça fait beaucoup juste pour tracer une ligne mais vous verez qu'il y a quelques petites nuances entre chaque.
1ère méthode : Line
Commencons d'abord par la fonction
Line. Vous la trouverez à cet emplacement :
SHIFT\F4\F6\F2\F2.
La syntaxe est la suivante :
Code : Autre1
2
3
4
5
| Plot x1,y1
Ploy x2,y2
Line |
Cette commande tracera la ligne reliant les deux points. Voici un exemple :
Code : Autre1
2
3
4
5
| Plot 35,12
Plot 120,57
Line |
Ce qui affichera :
Essayer vous même de rentrez différents points, et observez ainsi chaque ligne que vous créez. Bien sûr vous pouvez superposer plusieurs lignes. Et rappellez vous aussi de la commande
Cls pour effacer l'écran
Je vous avouerais que cette méthode est très rarement utilisée pour plusieurs raisons, tout d'abord car elle prend 3 lignes dans un programme et est plutôt fastidieuse à écrire. Heureusement il existe cette fois çi une méthode beaucoup plus utilisée...
2nde méthode : F-Line
Vous trouverez la commande
F-Line ici :
SHIFT\F4\F6\F2\F2.
Elle a tous les avantages par rapport à la première, regardez la syntaxe :
Code : Autre
Et oui c'est tout ! Reprenons l'exemple de tout à l'heure :
Code : Autre
Ce code affichera bien sûr...
...la même ligne que précédemment !
Admettez que c'est vraiment pas très compliqué...
Il nous reste à voir maintenant la 3ème méthode.
3ème méthode : Vert/Hztl
Cette dernière méthode nous permettra de tracer seulement des droites verticales (
Vert) ou horizontales (
Hztl) sur toute la ligne.
En fait, grâce à cette méthode vous pourrez tracer des lignes horizontales et verticales, mais qui prendront tout l'écran, ainsi vous ne pourrez pas tracez une droite verticale qui prend seulement la moitié de l'écran.
Vous trouverez ses fonctions ici :
SHIFT\F4\F6\F4 ou F5
La syntaxe est très simple :
Code : Autre
Vous remarquez qu'il n'y a plus qu'une seule coordonné. C'est logique, car la droite sera tracé sur tout la largeur/hauteur de votre écran. Je pense qu'un exemple ne serait pas de trop :
Code : Autre
La droite est tracée sur toute la hauteur de l'écran, à l'abscisse 65.
Code : Autre
La droite est tracée sur toute la largeur de l'écran, à l'ordonné 32.
Faire de beaux cercles !
Vous savez maintenant presque tout faire en ce qui concerne les différentes fonctions de dessins, il ne reste plus qu'a apprendre comme dessiner...un cercle !
Il reste aussi à apprendre les drawstats mais on vera ça plus tard
Je vous préviens, ça va être très rapide car c'est très simple (et oui encore une fois...).
La fonction qui va nous servire est la suivante :
Crcl.
Vous la trouverez ici :
SHIFT\F4\F6\F3.
La syntaxe est maintenant un tout petit peu plus complexe, mais vraiment pas grand chose
Code : Autre
x et
y représente les coordonnées du centre de votre cercle et
z la valeur du diamètre en pxl. Par exemple :
Code : Autre
Ce code créera un cercle de 15pxl de diamètre au centre de l'écran :
La vitesse d'affichage d'un cercle est très lente et son diamètre n'y change rien ! Alors je vous conseil de le créer "à la main" par le biais de plusieurs F-Line. Et pour ce faire, je vais vous montrer un logiciel très utile
Ce logiciel a été entierement crée par l'équipe de programmeur du site
Planète Casio. Un site que je vous recommande fortement ! Il regroupe une grande communautée de programmeur pour calculatrice Casio, et vous pourrez y postez vos futur jeux

.
Tout cela pour vous dire que c'est sur ce site que je vous demanderais de télécharger le logiciel
Photo Casio. Il est très simple d'utilisation et je vous invite à explorer l'aider dans le lien que je vous ai donné.
Alors ? C'était si dur que ça ? J'admets que le fait de devoir retenir certaines coordonnées peut être fastidieux, mais encore ! Rappelez-vous du logiciel que je vous ai montré.
Les pictures.
Dans ce chapitre vous apprendrez à quoi peut servir les
Pictures et comment les utiliser. Au boulot !
Picture : Késako ?
Une
Picture