Erreur Syntaxe je ne sais pas où…
Posté le 05/02/2014 21:16
Plop tout le monde !
Pendant mes cours j'ai commencé un petit programme que j'ai réadapté de ma TI, qui est un très petit "moteur de RPG". En gros on déplace un personnage et quand il va sur certaines cases, il les détectes, puis les remets sur l'écran lorsqu'on s'en va de dessus. Bon c'est pas très clair mais voici mon code :
{[maroon]7[/maroon],[maroon]21[/maroon]}→Dim Mat A
1→X~Y
[b][blue]For[/blue][/b] [maroon]0[/maroon]→F [b][blue]To[/blue][/b] [maroon]9[/maroon]
[b][blue]Do[/blue][/b]
RanInt#(1,[maroon]21[/maroon])→A
RanInt#(1,[maroon]7[/maroon])→B
[b][blue]LpWhile[/blue][/b] A=[maroon]1[/maroon] And B=[maroon]1[/maroon]
F→Mat A[B,A]
[b][brown]Locate[/brown][/b] A,B,F
[b][blue]Next[/blue][/b]
0→A
[b][blue]While[/blue][/b] [maroon]1[/maroon]
0
[b][blue]Do[/blue][/b]:Getkey:[b][blue]LpWhile[/blue][/b] Ans=[maroon]0[/maroon]
[b][blue]If[/blue][/b] Ans=[maroon]27[/maroon] Or Ans=[maroon]38[/maroon] Or Ans=[maroon]37[/maroon] Or Ans=[maroon]28[/maroon]
[b][blue]Then[/blue][/b] [b][brown]Locate[/brown][/b] X,Y,[gray]" "[/gray]
X+(Ans=[maroon]27[/maroon])-(Ans=[maroon]38[/maroon])→X
Y+(Ans=[maroon]37[/maroon])-(Ans=[maroon]28[/maroon])→Y
[b][blue]If[/blue][/b] A
[b][blue]Then[/blue][/b] [b][brown]Locate[/brown][/b] Z,θ,Mat A[θ,Z]
0→A
[b][blue]IfEnd[/blue][/b]
[b][blue]If[/blue][/b] Mat A[Y,X]
[b][blue]Then[/blue][/b] [b][brown]Locate[/brown][/b] X,Y,[gray]"O"[/gray]
1→A
X→Z
Y→θ
[b][blue]Else[/blue][/b]
[b][brown]Locate[/brown][/b] X,Y,[gray]"X"[/gray]
[b][blue]IfEnd[/blue][/b]
[b][blue]IfEnd[/blue][/b]
[b][blue]WhileEnd[/blue][/b]
Le problème, c'est que lorsque je déplace le caractère d'une case, la caltos me met une erreur syntaxe au début de la dernière ligne (juste avant le WhileEnd), et je n'arrive pas à trouver d'où vient le bug, c'est assez frustrant… ._.
J'espère que vous trouverez, merci !
Citer : Posté le 05/02/2014 21:30 | #
Salut, remplace la variable X par la variable V et ça devrai marcher
Toutes les formules de Première S.
Toutes les formules de Terminale S.
Un programme de calculs.
Super Mario 3
warrior
Jump Ball
First Fly
►Jeu gagnant des 48h CPC n°12◄
Mon site de discussion pour ados : http://entre-ados.net/ (a brûlé dans l'incendie d'OVH)
Mon éditeur de cours en ligne et plateforme de partage : http://wordline.xyz (a succombé à la concurrence de Google Drive...)
Citer : Posté le 05/02/2014 21:43 | #
Toujours pareil. Changer le nom de la variable ça aurait pu changer quelque chose ? ._.
Matos :
TI 82 Stats.fr (mauve, la classe !)
Casio 35+ USB Tweakée
Citer : Posté le 05/02/2014 21:49 | #
Changer la variable X, oui.
Un jour je me suis rendu compte qu'une boucle toute simple ne marchait pas dans l'un de mes programmes si je remplaçais la variable par X. Ensuite j'ai appris que X est utilisée par la calculatrice lorsqu'elle "réfléchit".
Il vaut mieux ne jamais utiliser cette variable...
Vérifie aussi que tout tes guillemets sont bien ouverts puis refermés. Si ça ne marche toujours pas, je ne vois pas où l'erreur.
Toutes les formules de Première S.
Toutes les formules de Terminale S.
Un programme de calculs.
Super Mario 3
warrior
Jump Ball
First Fly
►Jeu gagnant des 48h CPC n°12◄
Mon site de discussion pour ados : http://entre-ados.net/ (a brûlé dans l'incendie d'OVH)
Mon éditeur de cours en ligne et plateforme de partage : http://wordline.xyz (a succombé à la concurrence de Google Drive...)
Citer : Posté le 05/02/2014 21:51 | #
Si c'est avant le WhileEnd, c'est soit un problème de condition : un IfEnd manquant, soit un oubli de fermer les guillemets.
Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games
Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Citer : Posté le 05/02/2014 21:51 | #
Il manque un IfEnd avant le Else en bas
Édit : arf nan oublie c'est pas ça, mais vérifie si tu n'as pas oublié un guillement quelque part.
Ajouté le 05/02/2014 à 21:53 :
Pour la variable X : elle est modifié par certaines fonctions graphiques comme PxlOn (en faisant "PxlOn 1,9" Y prendra la valeur 1 et X 9).
Citer : Posté le 05/02/2014 22:25 | #
X est aussi utilisée dans le menu graph lors de l'affichage d'une courbe
Citer : Posté le 06/02/2014 00:23 | #
A :aie2: c'est pour ça que mon curseur fait n'importe quoi dans mon prog de dessin
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Citer : Posté le 06/02/2014 18:30 | #
Bon j'ai trouvé le problème. Je pensais qu'on pouvait omettre les guillemets fermés après un Locate (habitude de TI =/), du coup en refermant tout va bien, le programme ne comporte aucune erreur. ^^'
Et X j'avais aussi appris que c'était utilisé, tout comme Y, par le graph. Normalement y'a pas d'autre soucis…
Merci d'avoir cherché ! =P
Matos :
TI 82 Stats.fr (mauve, la classe !)
Casio 35+ USB Tweakée