Erreur syntaxe en attachant une formule à une liste

Bonjour à tous,
J'obtiens une erreur syntaxe qui me renvoie à la ligne de code suivante en exécutant un programme en Ti-Basic sur ma Ti-83+ (ligne 30 dans le programme principal) :
Cependant, au lieu de me renvoyer à la ligne de code à l'intérieur du programme, la calculatrice affiche l'instruction sur l'écran d’accueil (voir le fichier joint). Encore plus étrange, lorsque j'appuie simplement sur
pour exécuter cette instruction, aucune erreur syntaxe ne survient, et je peux ensuite vérifier que la liste a bien été attachée à la formule.
J'ai donc essayé de déterminer l'origine du bug à l'aide de pauses, et je me suis rendu compte que le programme crashait à l'appel d'une seconde liste (que je met dans Ans) (ligne 38 dans le programme principal) :
Attachée elle aussi à une formule en fonction de la première liste (ligne 32 dans le programme principal) :
J'ai vérifié, il ne semble pas y avoir d'erreur syntaxe et je ne touche pas aux listes après leurs définitions. Quelqu'un aurait-il une idée sur l'origine du bug?
Le code complet, si vous voulez essayer de comprendre :
Le programme principal :
prgmPTCOOR :
prgmRECTNGL :
J'obtiens une erreur syntaxe qui me renvoie à la ligne de code suivante en exécutant un programme en Ti-Basic sur ma Ti-83+ (ligne 30 dans le programme principal) :
- Code: Select all
"{15+6L₂(1)+int((L₂(1)-1)/3),2-6L₂(2)-int(1/3(L₂(2)-1→ʟCOORR
Cependant, au lieu de me renvoyer à la ligne de code à l'intérieur du programme, la calculatrice affiche l'instruction sur l'écran d’accueil (voir le fichier joint). Encore plus étrange, lorsque j'appuie simplement sur
![[entrer/enter] :f105:](./images/smilies/z80/105.png)
J'ai donc essayé de déterminer l'origine du bug à l'aide de pauses, et je me suis rendu compte que le programme crashait à l'appel d'une seconde liste (que je met dans Ans) (ligne 38 dans le programme principal) :
- Code: Select all
ʟθRECT
Attachée elle aussi à une formule en fonction de la première liste (ligne 32 dans le programme principal) :
- Code: Select all
"{2,⁻1,ʟCOORR(1),ʟCOORR(2),4,4→ʟθRECT
J'ai vérifié, il ne semble pas y avoir d'erreur syntaxe et je ne touche pas aux listes après leurs définitions. Quelqu'un aurait-il une idée sur l'origine du bug?
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Le code complet, si vous voulez essayer de comprendre :
Le programme principal :
Show/Hide spoilerAfficher/Masquer le spoiler
- Code: Select all
//---------------Réglage de l'écran---------------
0:prgmGRAPHWIN
//
//---------------Affichage du quadrillage---------------
For(A,0,18,6
For(B,0,38,19
Line(20+A+B,⁻3,20+A+B,⁻59
Line(20,⁻3-A-B,76,⁻3-A-B
End
End
Line(19,⁻2,19,⁻60
Line(77,⁻60,19,⁻60
Line(19,⁻2,77,⁻2
Line(77,⁻60,77,⁻2
//
//---------------Définition de variables---------------
// B: joueur qui joue
0→B
// L1: extremums des cases parcourables
{1,9,1,9→ʟXTRM
// [A]: matrice représentant le plateau 9*9
{9,9→dim([A]
Fill(0,[A]
// [B]: matrice représentant le plateau 3*3
{3,3→dim([B]
Fill(0,[B]
// ʟCOORM: coordonnées de la case dans la matrice
"{int((ʟXTRM(1)+ʟXTRM(2))/2),int(0.5(ʟXTRM(3)+ʟXTRM(4→ʟCOORM
// ʟCOORR: les coordonnées du coin supérieur gauche de la case en action dans le repère
"{15+6ʟCOORM(1)+int((ʟCOORM(1)-1)/3),2-6ʟCOORM(2)-int(1/3(ʟCOORM(2)-1→ʟCOORR
// ʟθRECT: paramètres pour prgmRECTGNL pour afficher le curseur
"{2,⁻1,ʟCOORR(1),ʟCOORR(2),4,4→ʟθRECT
//
//---------------Lancement du jeu---------------
While 1
// A: getKey
0→A
ʟθRECT
prgmRECTNGL
Repeat A=105
0→A
Repeat A≠0
getKey→A
End
ʟθRECT
prgmRECTNGL
If A=24 and ʟXTRM(1)<ʟCOORM(1
ʟCOORM(1)-1→ʟCOORM(1
If A=25 and ʟXTRM(3)<ʟCOORM(2
ʟCOORM(2)-1→ʟCOORM(2
If A=26 and ʟXTRM(2)>ʟCOORM(1
ʟCOORM(1)+1→ʟCOORM(1
If A=34 and ʟXTRM(4)>ʟCOORM(2
ʟCOORM(2)+1→ʟCOORM(2
ʟθRECT
prgmRECTNGL
End
End
prgmPTCOOR :
Show/Hide spoilerAfficher/Masquer le spoiler
- Code: Select all
Ans→θP2C
If 0=ʟθP2C(1
Then
{15+6ʟθP2C(2)+int((ʟθP2C(2)-1)/3),2-6ʟθP2C(3)-int(1/3(ʟθP2C(3)-1
Return
Else
{(ʟθP2C(2)-20-int((ʟθP2C(2)-20)/19))/6,1/6(ʟθP2C(3)+3+int(1/19(ʟθP2C(3)+3
Return
End
prgmRECTNGL :
Show/Hide spoilerAfficher/Masquer le spoiler
- Code: Select all
Ans→ʟθRECT
//Afficher
If 0=ʟθRECT(1
Then
// le pixel
If 1=ʟθRECT(2
Then
For(θ,ʟθRECT(3),ʟθRECT(3)+ʟθRECT(5
For(Z,ʟθRECT(4),ʟθRECT(4)+ʟθRECT(5
Pxl-On(θ,Z
End
End
// le point
Else
For(θ,ʟθRECT(3),ʟθRECT(3)+ʟθRECT(5
For(Z,ʟθRECT(4),ʟθRECT(4)-ʟθRECT(5),⁻1
Pt-On(θ,Z
End
End
End
//Effacer
Else
If 1=ʟθRECT(1
Then
// le pixel
If 1=ʟθRECT(2
Then
For(θ,ʟθRECT(3),ʟθRECT(3)+ʟθRECT(5
For(Z,ʟθRECT(4),ʟθRECT(4)+ʟθRECT(5
Pxl-Off(θ,Z
End
End
// le point
Else
For(θ,ʟθRECT(3),ʟθRECT(3)+ʟθRECT(5
For(Z,ʟθRECT(4),ʟθRECT(4)-ʟθRECT(5),⁻1
Pt-Off(θ,Z
End
End
End
//Inverser
Else
// le pixel
If 1=ʟθRECT(2
Then
For(θ,ʟθRECT(3),ʟθRECT(3)+ʟθRECT(5
For(Z,ʟθRECT(4),ʟθRECT(4)+ʟθRECT(5
Pxl-Change(θ,Z
End
End
// le point
Else
For(θ,ʟθRECT(3),ʟθRECT(3)+ʟθRECT(5
For(Z,ʟθRECT(4),ʟθRECT(4)-ʟθRECT(5),⁻1
Pt-Change(θ,Z
End
End
End
End
End