Posté le 04/02/2014 22:03
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 151 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
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
Citer : Posté le 04/02/2014 22:22 | #
Pour effacer un élément il suffit de placer un espace avec Locate.
Sinon, as-tu déjà entendu parler de la boucle For ?
Locate Y,1,"#E6A6"
Next
Par contre, en ce qui concerne ton erreur, je vois pas d'où peut provenir le problème...
Citer : Posté le 04/02/2014 23:00 | #
LpWhile 1 => La condition est toujours vraie, exécute-t-elle le code suivant ?
J'en doute car on a une boucle Do-LpWhile après le Break, je ne pense pas que la calculatrice interprète ton code normalement.
D'ailleurs, tu devrais remplacer :
Do
R≥22 Or R≤1 And Q≥7 Or Q≤1⇒Break
...
LpWhile
Par :
While R>1 And R<22 And Q>1 And Q<7
...
WhileEnd
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 05/02/2014 12:24 | #
Ok je continue avec vos conseils et je re si un autre probleme surgit. merci
Ajouté le 05/02/2014 à 20:38 :
Rebonjours,
Alors oui je connais la fonction For mais je n'y ai pas pensé étant débutant. J'ai donc réussi (enfin je crois) à faire le perso qui bouge et son ancienne position s'efface donc c'est bon. J'ai cependant un problème en ce qui concerne le mur droit (donc la variable R), quand mon perso va contre il ne s'arrête pas, il reste sur l'écran et il efface la carré (mur) ou il ne doit pas être...
Voici le prog :
1ãYÙ
DoÙ
Locate Y,1,"#E6A6"Ù
Isz YÙ
LpWhile Y≤21Ù
1ãXÙ
DoÙ
Locate 1,X,"#E6A6"Ù
Isz XÙ
LpWhile X≤7Ù
1ãZÙ
DoÙ
Locate 21,Z,"#E6A6"Ù
Isz ZÙ
LpWhile Z≤7Ù
1ãWÙ
DoÙ
Locate W,7,"#E6A6"Ù
Isz WÙ
LpWhile W≤22Ù
5ãRÙ
5ãQÙ
Lbl 1Ù
While R>1 And R<22 And Q>1 And Q<7Ù
R≥22 Or R≤1 And Q≥7 Or Q≤1×BreakÙ
Locate R,Q,"#E6A7"Ù
For 1ãA To 222Ù
NextÙ
DoÙ
GetkeyãTÙ
LpWhile T≠27 And T≠37 And T≠38 And T≠28Ù
If T=37Ù
Then Isz Q:Locate R,Q-1," "Ù
IfEndÙ
If T=28Ù
Then Dsz Q:Locate R,Q+1," "Ù
IfEndÙ
If T=27Ù
Then Isz R:Locate R-1,Q," "Ù
IfEndÙ
If T=38Ù
Then Dsz R:Locate R+1,Q," "Ù
IfEndÙ
WhileEndÙ
R≥22×21ãRÙ
R≤1×2ãRÙ
Q≥7×6ãQÙ
Q≤1×2ãQÙ
Goto 1
Citer : Posté le 05/02/2014 21:17 | #
C'est normal, tu ne gères pas les collisions. Tu ne dois afficher un espace que si le personnage n'est pas dans le mur.
En fait tu devrais organiser ton code comme ça :
Tu fais une boucle qui tourne tant que tu n'appuies pas sur une touche.
Tu effaces le personnage
Tu modifies ses coordonnées en fonction de la touche sur laquelle tu as appuyé et seulement si ça ne le fait pas rentrer dans un mur.
Tu affiches le personnages
Citer : Posté le 05/02/2014 21:45 | #
Mais le problème n'arrive que sur le coté droit. Les autres cotés marchent nickel...
Citer : Posté le 05/02/2014 22:28 | #
Et aussi
Ça vient de là. L'écran texte fait 7 lignes sur 21 colonnes.
Citer : Posté le 07/02/2014 17:30 | #
Ok merci. je pensais que c'était du 7-22 et non du 7-21. Je continue le prog...
Ajouté le 08/02/2014 à 23:25 :
Bon, je re car c'est de nouveau chaud pour moi...
J'ai choisi comme concept des sortes de laser qui vont de la droite à la gauche de l'écran (en ligne) et on doit les éviter. Cependant je n'arrive pas à faire en sorte que si le joueur ne bouge pas les lasers avancent quand même car avec mon prog (enfin ce brouillon!!!) ça ne marche pas...
Nv message: C'est bon j'ai réussi me manque juste un ptit decalage de temps...
1ãYÙ
20ãMÙ
20ãNÙ
20ãOÙ
20ãPÙ
DoÙ
Locate Y,1,"#E6A6"Ù
Isz YÙ
LpWhile YÉ21Ù
1ãXÙ
DoÙ
Locate 1,X,"#E6A6"Ù
Isz XÙ
LpWhile XÉ7Ù
1ãZÙ
DoÙ
Locate 21,Z,"#E6A6"Ù
Isz ZÙ
LpWhile ZÉ7Ù
1ãWÙ
DoÙ
Locate W,7,"#E6A6"Ù
Isz WÙ
LpWhile WÉ21Ù
5ãRÙ
5ãQÙ
Locate M,2,"-"Ù
Locate N,3,"-"Ù
Locate O,4,"-"Ù
Locate P,6,"-"Ù
Lbl 1Ù
While R>1 And R<21 And Q>1 And Q<7Ù
Dsz M:Dsz N:Dsz O:Dsz PÙ
Locate M,2,"-"Ù
Locate N,3,"-"Ù
Locate O,4,"-"Ù
Locate P,6,"-"Ù
Locate R,Q,"#E6A7"Ù
For 1ãL To 50Ù
GetkeyãTÙ
T=27 Or T=37 Or T=38 Or T=28×Goto 2Ù
NextÙ
WhileEndÙ
Goto 1Ù
Lbl 2Ù
RÊ21×20ãRÙ
RÉ1×2ãRÙ
QÊ7×6ãQÙ
QÉ1×2ãQÙ
If T=37Ù
Then Locate R,Q,"#E6A7":Isz Q:Locate R,Q-1," ":For 1ãL To 200Ù
NextÙ
IfEndÙ
If T=28Ù
Then Locate R,Q,"#E6A7":Dsz Q:Locate R,Q+1," ":For 1ãL To 200Ù
NextÙ
IfEndÙ
If T=27Ù
Then Locate R,Q,"#E6A7":Isz R:Locate R-1,Q," ":For 1ãL To 200Ù
NextÙ
IfEndÙ
If T=38Ù
Then Locate R,Q,"#E6A7":Dsz R:Locate R+1,Q," ":For 1ãL To 200Ù
NextÙ
IfEndÙ
Goto 1Ù