Il faut parier un chiffre entre 1 et 5 et tomber sur le bon
J'ai commencé hier à programmer, donc c'est pas folichon, mais c'est en forgeant qu'on devient forgeron.
J'aimerais savoir comment faire pour faire bouger un pixel représentant un personnage à l'écran avec les flèches (en programmation bien sûr )
Merci
Salut Xneolos,
Faire bouger un pixel c'est tout bête :
A et B seront les variables dans lesquelles seront sauvegarder les coordonnées de ton ton pixel sur la fenêtre graphique que tu auras définis
ViewWindow 1,127,0,1,63,0 [i][green]//Ici tu définis ta fenètre graphique[/green][/i]
10->A
10->B [i][green]// Ici on a définis l'emplacement de départ de ton pixel tel que A=x et B=y[/green][/i]
Lbl 1 [i][green]// (voir goto 1)[/green][/i]
Get key->G [i][green] //(voir *)[/green][/i]
G=27=>A+1->A [i][green]//Si G=27 alors on ajoute 1 à A[/green][/i]
G=28=>B+1->B [i][green]//Si G=28 alors on ajoute 1 à B[/green][/i]
G=38=>A-1->A [i][green]//Si G=38 alors on retire 1 à A[/green][/i]
G=37=>B-1->B [i][green]//Si G=37 alors on retire 1 à B[/green][/i]
PlotOn A,B [i][green]// PlotOn sert à afficher un pixel au coordonnée indiquer (ici A,B)[/green][/i]
Goto 1 [i][green]// Ici tu retourne au Lbl 1 se qui te permet de faire une boucle.[/green][/i]
*Enfaîte chaque touche de ta calculatrice a une valeur appelée GetKey et lorsque tu écrit :
Get key->G
Tu demande a ta calculatrice d'entrer la valeurs de la touche sur laquelle tu appuis, dans la variable G.
Le code qui a proposé Deeganx3 est bon sauf pour quelques détails:
-Il est très peu recommendé de faire des boucles avec un Lbl/Goto. Si tu veux faire une boucle, fais plutôt ça:
do //contenu de la boucle
LpWhile 1 //une condition est vraie si sa valeur est différente de 0
-ce code afficherait tout le chemin parcouru par le pixel, il faut utiliser Plotoff pour effacer le pixel.
-Il faudrait que la condition gère les limites de l'écran pour que tu ne puisses pas sortir de celui ci
En applicant tout on obtiendrait ceci:
ViewWindow 1,127,0,1,63,0
10->A
10->B
Do
Get key->G
G=27 And A<127=> Isz A //ceci est une version optimisée de A+1->A
G=28 And B<63 =>Isz B
G=38 And A>1=>Isz A
G=37 And B>1=>Isz B
Plotoff A,B
PlotOn A,B
LpWhile 1
Salut javier;
Tu pourrais m'expliquer pourquoi les Lbl/Goto c'est déconseiller ??
C'est mieux avec Do et LpWhile ??
ViewWindow 1,127,0,1,63,0
10->A
10->B
Do
Get key->G
G=27 And A<127=>Isz A
G=28 And B<63=>Isz B
G=38 And A>1=>[red]Dsz[/red] A
G=37 And B>1=>[red]Dsz[/red] B
[red]PlotOn A,B
Plotoff A,B[/red]
LpWhile 1
Faut mettre le PlotOn avent le PlotOff sinon sa s'efface pas et aussi quand on l'efface avec un PlotOff il clignote tellement qu'on le voit presque plus. Et comme la dit Ninestars t'avait juste oublier les Dsz
Oui, dsl, j'ai écrit ce code à 00:47 , je corrige:
ViewWindow 1,127,0,1,63,0
10->A
10->B
Do
Plotoff A,B
Get key->G
G=27 And A<127=>Isz A //ceci est une version optimisée de A+1->A
G=28 And B<63=>Isz B
G=38 And A>1=>Dsz A //ceci est une version optimisée de A-1->A
G=37 And B>1=>Dsz B
PlotOn A,B
LpWhile 1
Les goto sont déconseillés car:
-dans une boucle, ils sont plus lents qu'un While/WhileEnd ou un Do/LpWhile
-Ils sont limités
-Le code devient assez difficile à lire
-Un mal usage peut conduire facilement à des bugs
-Avec une boucle While, tu peux sortir avec un break ou une condition, mais avec une boucle goto tu dois utiliser un autre goto pour sortir
Les utiliser parfois peut être utile, mais l'usage abusif ou l'usage pour des boucles apporte pas mal de complications
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd