[ti-basic] erreur dans un morpion ti-83+

Fermé
jacksparrow440 Messages postés 40 Date d'inscription dimanche 9 novembre 2008 Statut Membre Dernière intervention 26 août 2011 - 8 janv. 2011 à 20:05
code3D Messages postés 31 Date d'inscription jeudi 13 novembre 2014 Statut Membre Dernière intervention 6 décembre 2014 - 14 nov. 2014 à 19:44
Bonjour,
l'autre jour j'ai copié le code d'un jeu de morpion dans ma ti-83+, apparemment sans faute, sauf que le programme me renvoie une erreur lorsque je crée une nouvelle partie... =(

alors, serai-ce une erreur dans le code? ou une de ma part?

voici le code:

ClrDraw
prgmSETGRAPH
RecallPic 1
1->D
Repeat G=105        //écran-titre
Line(30,-24-11D,-30,-32-11D        // Affiche le cadre
Line(30,-32-11D,64,-32-11D
Line(64,-32,-11D,64,-24-11D
Line(64,-24-11D,30,-24-11D
Repeat G=105 or (G=25 and D>1) or (G=34 and D<2
getKey->G
End
Line(30,-24-11D,-30,-32-11D,0        // Efface le cadre
Line(30,-32-11D,64,-32-11D,0
Line(64,-32,-11D,64,-24-11D,0
Line(64,-24-11D,30,-24-11D,0
D-(G=25)+(G=34)->D        // Le cadre est déplacé
End
ClrDraw
If D=2        // Quitter
Then
prgmRESETGRF
ClrHome
Output(1,1,"
Return
End
If D=1 // Jouer
Then
10->dim(LMORP
//Ce n'est qu'à partir d'ici que j'ai copié le code, puisque les lignes d'avantservent à générer un écran-titre que je n'ai pas créé
2->dim(LPLYR
For(Z,1,10
If LMORP(Z)=0
Then
Text(Z*6-5,20,Z,":NOUVEAU JOUEUR
Else
Text(Z*6-5,20,Z,":",LMORP(Z)," PTS
End
End
        
For(P,1,2        // Choix du slot de sauvegarde pour chacun des joueurs
1->D
Text(0,0,"J",P
Repeat G=105
Pt-On(Z*-6-5,10,2
Repeat G=105 or (G=25 and D>1) or (G=34 and D<10
getKey->G
End
Pt-Off(Z*-6-5,10,2
D-(G=25)+(G=34)->D
End
D->LPLYR(P                // Le numéro de slot est stocké dans une liste
End
ClrDraw
        
 //Début de la partie
Line(51,0,51,-61        // Affichage du plateau de jeu
Line(73,0,73,-61
Line(31,-20,90,-20
Line(31,-41,93,-41
Line(28,0,28,-62
{3,3}->dim([A]
Fill(0,[A]
randInt(0,1)->T
0->N
2->A
2->B
0->W
Text(9,1,"SCORE :
Text(16,1,LMORP(LPLYR(1
// C'est ici que s'affiche le curseur pour m'indiquer où se situe l'erreur
Text(16,16,LMORP(LPLYR(2
Repeat W>0
Text(1,1+16T,"       "
not(T)->T                                        // C'est au tour du joueur suivant
Text(1,1+16T,"J",T+1
Repeat G=105 and [A](A,B)=0
Line(27+22A,20-21B,27+22A,3-21B        // Affiche le cadre du plateau de jeu
Line(27+22A,3-21B,9+22A,3-21B
Line(9+22A,20-21B,9+22A,3-21B
Line(9+22A,20-21B,27+22A,20-21B
Repeat (G=105 and [A](A,B)=0) or (G=24 and A>1) or (G=25 and B>1) or (G=26 and A<3) or (G=34 and B<3)
getKey->G
End        
Line(27+22A,20-21B,27+22A,3-21B,0        // Efface le cadre du plateau de jeu
Line(27+22A,3-21B,9+22A,3-21B,0
Line(9+22A,20-21B,9+22A,3-21B,0
Line(9+22A,20-21B,27+22A,20-21B,0
A-(G=24)+(G=26)->A        // Le cadre change de coordonnées
B-(G=25)+(G=34)->B
End
T+1->[A](A,B)        // La case est déclarée comme pleine
If T=0        // Affichage du pion du joueur
Then
Line(27+22A,20-21B,9+22A,3-21B
Line(27+22A,3-21B,9+22A,20-21B
Else 
Circle(18+22A,11-21B,7
End
N+1->N
If N>4        // Si le nombre de pions placés permet une victoire
Then
N=9->W
For(Z,1,2)        // Teste si 3 cases alignées contiennent le même type de pions
For(M,1,3)
W+([A](M,1)=Z and [A](M,2)=Z and [A](M,3)=Z)->W
W+([A](1,M)=Z and [A](2,M)=Z and [A](3,M)=Z)->W
End
W+([A](1,1)=Z and [A](2,2)=Z and [A](3,3)=Z)->W
W+([A](3,1)=Z and [A](2,2)=Z and [A](1,3)=Z)->W
End        // W vaut plus de 0 si le jeu doit se terminer.
End
End
ClrDraw
If N=9 and W=1
Then
Text(29,30,"MATCH NUL
Else
Text(29,17,"LE JOUEUR ",T+1," GAGNE
LMORP(LPLYR(T+1))+1->LMORP(LPLYR(T+1
End
Pause
End


merci de vos réponses! ;)


1 réponse

code3D Messages postés 31 Date d'inscription jeudi 13 novembre 2014 Statut Membre Dernière intervention 6 décembre 2014 234
14 nov. 2014 à 19:44
Bas j'ai vu que ton programme faisait appelle à plusieurs autre programme il faut donc que tu me montre les autre programmes. mais si tu n'a pas mis d'autre programme ça veut dire que tu demande a ton programme de lancer un programme inexistant.
0