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
![:'( :'(](./images/smilies/crying.png)
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: 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 !