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 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
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 !