π
<-

ERR:Syntaxe sur un jeu en Ti-Basic

ERR:Syntaxe sur un jeu en Ti-Basic

Unread postby Eliastik » 04 Dec 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: Select all
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 !
User avatar
EliastikProgrammeur
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 12.5%
 
Posts: 12
Joined: 04 Dec 2015, 13:09
Gender: Male
Calculator(s):
MyCalcs profile

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

Unread postby critor » 04 Dec 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 44.1%
 
Posts: 41579
Images: 15112
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby Eliastik » 04 Dec 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.
User avatar
EliastikProgrammeur
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 12.5%
 
Posts: 12
Joined: 04 Dec 2015, 13:09
Gender: Male
Calculator(s):
MyCalcs profile

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

Unread postby GalacticPirate » 04 Dec 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
User avatar
GalacticPirateModo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 1.3%
 
Posts: 1156
Images: 2
Joined: 23 May 2015, 10:36
Location: Hauts-de-Seine, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: L3 Informatique
GitHub: GalacticPirate-Prog

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

Unread postby critor » 04 Dec 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 44.1%
 
Posts: 41579
Images: 15112
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby Eliastik » 04 Dec 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: Select all
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
User avatar
EliastikProgrammeur
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 12.5%
 
Posts: 12
Joined: 04 Dec 2015, 13:09
Gender: Male
Calculator(s):
MyCalcs profile

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

Unread postby critor » 04 Dec 2015, 20:49

Oui, If/Goto ne devrait plus poser de problème. :)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 44.1%
 
Posts: 41579
Images: 15112
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

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

Unread postby Eliastik » 05 Dec 2015, 10:40

OK, je viens de tester le jeu et plus aucun problème d'erreur de syntaxe. Merci pour vos réponses :)
User avatar
EliastikProgrammeur
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 12.5%
 
Posts: 12
Joined: 04 Dec 2015, 13:09
Gender: Male
Calculator(s):
MyCalcs profile

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

Unread postby critor » 05 Dec 2015, 12:23

Super :)
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 44.1%
 
Posts: 41579
Images: 15112
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor


Return to TI-Basic

Who is online

Users browsing this forum: No registered users and 5 guests

-
Search
-
Social TI-Planet
-
Featured topics
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Offre de test des nouveautés de rentrée 2024 par Casio. Enseignant(e), reçois gratuitement 1 exemplaire, à ton choix, de la Graph Light ou bien de la Graph Math+
14€ remboursés par Casio sur l'achat de ta calculatrice Graph 35 d'ici le 31 Octobre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 90+E d'ici le 31 Décembre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 25 d'ici le 31 Décembre 2024
8€ remboursés par Casio sur l'achat de ta calculatrice Graph Math+ d'ici le 31 Octobre 2024
Reprise de ton ancienne fx-92 Collège ou Graph 25/35/90 à 3€ peu importe son état. Même non fonctionnelle et donc invendable, même ancienne Graph 35 non conforme aux programmes (pas de Python), même ancienne Graph 25/35 inutilisable aux examens (pas de mode examen) et donc invendable. Etiquette de retour fournie, pas de frais de port à payer.
3€ remboursés par Casio sur l'achat de ta calculatrice fx-92 Collège d'ici le 30 Septembre 2024
5€ de remise immédiate sur l'achat de ta calculatrice TI-83 Premium CE Edition Python chez les revendeurs partenaires
4€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced Edition Python chez les revendeurs partenaires
3€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced chez les revendeurs partenaires
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234567891011121314
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1022 utilisateurs:
>966 invités
>49 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)