π
<-
Chat plein-écran
[^]

ERR:Syntaxe sur un jeu en Ti-Basic

ERR:Syntaxe sur un jeu en Ti-Basic

Message non lude Eliastik » 04 Déc 2015, 13:27

Bonjour,

J'ai repris un Snake disponible sur Ti Planet (celui-ci : https://tiplanet.org/forum/archives_voir.php?id=3808) afin d'y jouer sur ma calculatrice Ti-82 Advanced. Ayant battu le meilleur score possible (100), je me suis attelé à amélioré le code existant en poussant le score maximal à 999. Le problème, c'est que j'ai de plus en plus d'erreurs de syntaxe sur de simples If... J'ai déjà testé sur d'autres calculatrices de même modèle, le problème se produit toujours aléatoirement :'( . J'ai bien vérifié les End, en essayant de corriger le code, rien ne fonctionne. Je précise que je code à l'aide de l'éditeur de programmes du logiciel Ti Connect CE.

Voici les bouts de code qui pose problème, avec en gras les lignes posant problème et en jaune les endroits où le curseur se met lors d'une erreur :

Lbl 5
[...]
If P=100 ou P=200 ou P=300 ou P=400 ou P=500 ou P=600 ou P=700 ou P=800 ou P=900
Then
Texte(21,37,"BRAVO !
Texte(28,5,"La partie va recommencer
Texte(35,22,"avec votre score !
Pause
N+0.01→U
1→L
Goto 51
Else:If P=999
Then
N+1.7349→L₆(1
Texte(21,37,"BRAVO !
Texte(28,8,"Vous êtes un champion de
Texte(35,37,"Snake !
Pause
Goto 50


Lbl 3
[...]
getKey→K
If K=45
Then
EffÉcran
Menu("Quitter Snake ?","Non",R,"Oui",89
Lbl R
EffÉcran
End
If K=105
Pause
If K=0
Goto 2
If D=72
Then
If K=24
67→D
If K=26
77→D
If 1=abs(K-25 'j'ai aussi des Err:Argument sur cette ligne parfois
44→C
Goto 2
End
If C44
Goto 2
If K=25
39→C
If K=34
49→C
If K=25 ou K=34
72→D
Goto 2
End


La partie du code à l'endroit auquel le jeu commence (le code n'est pas complet) :

Code: Tout sélectionner
Lbl 51
EffDess:EffÉcran:0→Xmin:94→Xmax:­62→Ymin:0→Ymax:AxesNAff:FoncNAff :6→A:8→B:44→C:77→D:1→E:0→O:1→dim(L₆:U→N
If .7349=partDéc(L₆(1
L₆(1→O
EffListe L₄
EffListe L₅
99→dim(L₄:99→dim(L₅
For(θ,1,6,1.4
Ligne(88,­ent(θ),6,­ent(θ)
End
Ligne(6,­57,88,­57
Ligne(88,­56,88,­6
Ligne(6,­6,6,­56
Texte(0,13," SCORE : ",ent(N+1
Texte(0,53," HIGH : ",ent(O
Lbl 5
If N+1>O
N+1.7349→L₆(1
Texte(0,53," HIGH : ",ent(L₆(1
­8-5ent(NbrAléat10→I
8+5ent(NbrAléat16→J
N+1→P
If P=100 ou P=200 ou P=300 ou P=400 ou P=500 ou P=600 ou P=700 ou P=800 ou P=900
Then
Texte(21,37,"BRAVO !
Texte(28,5,"La partie va recommencer
Texte(35,22,"avec votre score !
Pause
N+0.01→U
1→L
Goto 51
Else:If P=999
Then
N+1.7349→L₆(1
Texte(21,37,"BRAVO !
Texte(28,8,"Vous êtes un champion de
Texte(35,37,"Snake !
Pause
Goto 50
End
If pxl-Test(­I,J
Goto 5
Ligne(J,I,J+2,I-2
Ligne(J,I-2,J+2,I
Goto 3
End
Lbl 2
6+50partDéc((A+C)/50→A
8+80partDéc((B+D)/80→B
If pxl-Test(A+2,B:Goto 4
Texte(A,B,"°
Lbl 3
arrondir(1+LpartDéc(E/L),0→E
Texte(L₄(E),L₅(E),"   
A→L₄(E:B→L₅(E
0→K
getKey→K
If K=45
Then
EffÉcran
Menu("Quitter Snake ?","Non",R,"Oui",89
Lbl R
EffÉcran
End
If K=105
Pause
If K=0
Goto 2
If D=72
Then
If K=24
67→D
If K=26
77→D
If 1=abs(K-25
44→C
Goto 2
End
If C≠44
Goto 2
If K=25
39→C
If K=34
49→C
If K=25 ou K=34
72→D
Goto 2
End
Lbl 89
If N+1>O
N+1.7349→L₆(1
EffÉcran
Goto 50
Lbl 4
Texte(A,B,"°
Ligne(B+1,­A-3,B+2,­A-2
If ­I≠A+2 ou J≠B ou N≥999
Goto Q
N+1→N
L+1→L
Texte(0,38,ent(N+1
Goto 5
End
Lbl Q
If N+1>O
N+1.7349→L₆(1
1→L
Menu("GAME OVER !","Continuer",51,"Quitter",50
End


Merci d'avance pour votre aide !
Avatar de l’utilisateur
EliastikProgrammeur
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 12.5%
 
Messages: 12
Inscription: 04 Déc 2015, 13:09
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: ERR:Syntaxe sur un jeu en Ti-Basic

Message non lude critor » 04 Déc 2015, 14:33

Bonjour,

Tu veux dire que quand tu lances ce même programme, le problème ne se produit pas toujours ?
Es-tu sûr que c'est bien une erreur de syntaxe que donne la calculatrice ?
Une erreur de syntaxe n'est pas aléatoire. Ou le code est écrit correctement, ou il ne l'est pas.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 43.1%
 
Messages: 41523
Images: 14852
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: ERR:Syntaxe sur un jeu en Ti-Basic

Message non lude Eliastik » 04 Déc 2015, 18:52

Bonsoir,

Le problème se situe en plein jeu. Par exemple, on peut y jouer normalement mais au beau milieu d'une partie, le jeu plante avec une frustrante erreur de syntaxe. Ces erreurs ne se produisent pas toujours au même moment, mais elles se produisent pratiquement à toutes les parties. C'est ça qui est étrange, d'autant plus que le debugger de la calculette donne le plus souvent une erreur se situant sur la ligne d'un simple If et place le curseur sur le caractère "=" des conditions. J'ai surtout ce type d'erreur sur les blocs de conditions du Lbl 3 mais également sur le Lbl 5 (dont une partie de code a été ajoutée par mes soins). Je n'ai pas vu d'erreur en dehors de ces deux labels. Ce type d'erreur avait lieu aussi avant que je me mette à améliorer le jeu, mais depuis que le code a grossit, il y en a de plus en plus.
Avatar de l’utilisateur
EliastikProgrammeur
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 12.5%
 
Messages: 12
Inscription: 04 Déc 2015, 13:09
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: ERR:Syntaxe sur un jeu en Ti-Basic

Message non lude GalacticPirate » 04 Déc 2015, 18:55

bonjour,
Tu peux télécharger un Snake similaire mais quasiment identique, dont celui que tu as téléchargé est une copie :p
Voici ce lien :[archive=]gg[/archive]
Mon profil TI-PlanetDevenez premium !
ImageImage
Modérateur de TI-Planet.org depuis décembre 2015, et membre de la communauté depuis Mai 2015.Cliquez ci-dessus pour faire un don à TI-Planet.org via PayPal et devenir Donateur ou Premium (à partir de 3€) ! Vous aurez accès à des générations illimitées et prioritaires avec Mviewer GX Creator, ainsi qu'au forum secret ! :bj: En plus, vous pourrez être orange sur le chat :troll:

Image
Avatar de l’utilisateur
GalacticPirateModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 1.3%
 
Messages: 1156
Images: 2
Inscription: 23 Mai 2015, 10:36
Localisation: Hauts-de-Seine, France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: L3 Informatique
GitHub: GalacticPirate-Prog

Re: ERR:Syntaxe sur un jeu en Ti-Basic

Message non lude critor » 04 Déc 2015, 18:56

Cela vient peut-être du fait que tu utilises des Goto à l'intérieur de blocs d'instructions (If/Then/Else/End, While/End, For/End...), c'est-à-dire dans le cas où le Goto se déclenche sans passer par les instructions End permettant de fermer le If/While/For.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 43.1%
 
Messages: 41523
Images: 14852
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: ERR:Syntaxe sur un jeu en Ti-Basic

Message non lude Eliastik » 04 Déc 2015, 19:18

@STV : tu t'es trompé sur le lien ;)

@critor Merci de ta réponse. Dans le cas d'un If sur une ligne sans avoir besoin de Then/End, je peux utiliser librement les Goto ? En attendant, j'ai fais ça (le code est complet pour la partie jeu) :

Code: Tout sélectionner
Lbl 51
EffDess:EffÉcran:0→Xmin:94→Xmax:­62→Ymin:0→Ymax:AxesNAff:FoncNAff :6→A:8→B:44→C:77→D:1→E:0→O:1→dim(L₆:U→N
If .7349=partDéc(L₆(1
L₆(1→O
EffListe L₄
EffListe L₅
99→dim(L₄:99→dim(L₅
For(θ,1,6,1.4
Ligne(88,­ent(θ),6,­ent(θ)
End
Ligne(6,­57,88,­57
Ligne(88,­56,88,­6
Ligne(6,­6,6,­56
Texte(0,13," SCORE : ",ent(N+1
Texte(0,53," HIGH : ",ent(O
Lbl 5
If N+1>O
N+1.7349→L₆(1
Texte(0,53," HIGH : ",ent(L₆(1
­8-5ent(NbrAléat10→I
8+5ent(NbrAléat16→J
N+1→P
If P=100 ou P=200 ou P=300 ou P=400 ou P=500 ou P=600 ou P=700 ou P=800 ou P=900
Goto 68
If P=999
Goto 69
If pxl-Test(­I,J
Goto 5
Ligne(J,I,J+2,I-2
Ligne(J,I-2,J+2,I
Goto 3
Lbl 2
6+50partDéc((A+C)/50→A
8+80partDéc((B+D)/80→B
If pxl-Test(A+2,B:Goto 4
Texte(A,B,"°
Lbl 3
arrondir(1+LpartDéc(E/L),0→E
Texte(L₄(E),L₅(E),"   
A→L₄(E:B→L₅(E
0→K
getKey→K
If K=45
Menu("Quitter Snake ?","Non",2,"Oui",89
If K=105
Pause
If K=0
Goto 2
If D=72
Then
If K=24
67→D
If K=26
77→D
If 1=abs(K-25
44→C
End
If C≠44
Goto 2
If K=25
39→C
If K=34
49→C
If K=25 ou K=34
72→D
Goto 2
Lbl 89
If N+1>O
N+1.7349→L₆(1
EffÉcran
Goto 50
Lbl 4
Texte(A,B,"°
Ligne(B+1,­A-3,B+2,­A-2
If ­I≠A+2 ou J≠B ou N≥999
Goto Q
N+1→N
L+1→L
Texte(0,38,ent(N+1
Goto 5
Lbl Q
If N+1>O
N+1.7349→L₆(1
1→L
Menu("GAME OVER !","Continuer",51,"Quitter",50
Lbl 68
Texte(21,37,"BRAVO !
Texte(28,5,"La partie va recommencer
Texte(35,22,"avec votre score !
Pause
N+0.01→U
1→L
Goto 51
Lbl 69
N+1.7349→L₆(1
Texte(21,37,"BRAVO !
Texte(28,8,"Vous êtes un champion de
Texte(35,37,"Snake !
Pause
Goto 50
Avatar de l’utilisateur
EliastikProgrammeur
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 12.5%
 
Messages: 12
Inscription: 04 Déc 2015, 13:09
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: ERR:Syntaxe sur un jeu en Ti-Basic

Message non lude critor » 04 Déc 2015, 20:49

Oui, If/Goto ne devrait plus poser de problème. :)
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 43.1%
 
Messages: 41523
Images: 14852
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: ERR:Syntaxe sur un jeu en Ti-Basic

Message non lude Eliastik » 05 Déc 2015, 10:40

OK, je viens de tester le jeu et plus aucun problème d'erreur de syntaxe. Merci pour vos réponses :)
Avatar de l’utilisateur
EliastikProgrammeur
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Prochain niv.: 12.5%
 
Messages: 12
Inscription: 04 Déc 2015, 13:09
Genre: Homme
Calculatrice(s):
MyCalcs profile

Re: ERR:Syntaxe sur un jeu en Ti-Basic

Message non lude critor » 05 Déc 2015, 12:23

Super :)
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 43.1%
 
Messages: 41523
Images: 14852
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor


Retourner vers TI-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 8 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2008 utilisateurs:
>1972 invités
>31 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)