Syntax error
Posté le 20/03/2010 16:53
Bonjour
Voilà : j'ai travaillé plusieurs heures sur un mini jeu de morpion sur lequel je voudrais mettre ensuite une "intelligence artificiell" (bon le mot est moyennement adapté...). A un moment, j'ai rajouté la possibilité de vérifier si il y a égalité (c'est mieux xd) et c'est à ce moment là que mon programme à commencé à bugé... Un magnifique "syntax error" et lorsque je fais "exit" le curseur se retrouve tout à la fin du programme.
Voici le code :
Filename:MORPION
For 0ãI To 500:NextÙ
1ãDim List 1Ù
0ãAÙ
0ãBÙ
1ãCÙ
Locate 5,3,"BIENVENUE SUR "Ù
Locate 6,4,"LEOMORPION ·!·"Ù
Locate 2,6,"(Comment ca c'est Ù
Locate 1,7,"pas original íí ???)"Ù
While GetkeyÈ31:WhileEndÙ
ClrTextÙ
For 0ãI To 500:NextÙ
Locate 1,1,"Vous vouler jouer : Ù
Locate 4,3,"Contre un humain"Ù
Locate 4,4,"Contre l'ordi"Ù
Locate 1,3,"#E691"Ù
While GetkeyÈ31Ù
GetkeyãZÙ
If Z>19Ù
Then Ù
If Z=28 Or Z=37Ù
Then Ù
If Z=28Ù
Then Ù
1ãCÙ
Else Ù
2ãCÙ
IfEndÙ
If C=1Ù
Then Ù
Locate 1,3,"#E691"Ù
Locate 1,4," "Ù
Else Ù
Locate 1,3," "Ù
Locate 1,4,"#E691"Ù
IfEndÙ
IfEndÙ
IfEndÙ
WhileEndÙ
Lbl 3Ù
For 0ãI To 500:NextÙ
ClrTextÙ
1ãFÙ
Int (2Ran#+1)ãFÙ
If F=2 And C=2Ù
Then Ù
Locate 3,3,"C'est a l'ordi ·!·"Ù
Else Ù
Locate 3,3,"J"Ù
Locate 4,3,FÙ
Locate 6,3,"c'est a vous ·!·"Ù
IfEndÙ
While GetkeyÈ31:WhileEndÙ
ClrTextÙ
{3,3}ãDim Mat MÙ
ViewWindow 1,127,1,1,163,1Ù
Ù
ClsÙ
Horizontal 1Ù
Horizontal 163Ù
Horizontal 54Ù
Horizontal 109Ù
Vertical 1Ù
Vertical 127Ù
Vertical 42Ù
Vertical 85Ù
0ãUÙ
0ãVÙ
0ãGÙ
1ãQÙ
1ãRÙ
1ãSÙ
0ãZÙ
1ãKÙ
1ãLÙ
0ãWÙ
1ãTÙ
While GÈ1Ù
Lbl 1Ù
If C=2 And FÈ1Ù
Then Ù
Int (9Ran#+1)ãTÙ
If T=1Ù
Then Ù
74ãZÙ
Else Ù
If T=2Ù
Then Ù
64ãZÙ
Else Ù
If T=3Ù
Then Ù
54ãZÙ
Else Ù
If T=4Ù
Then Ù
73ãZÙ
Else Ù
If T=5Ù
Then Ù
63ãZÙ
Else Ù
If T=6Ù
Then Ù
53ãZÙ
Else Ù
If T=7Ù
Then Ù
72ãZÙ
Ù
Else Ù
If T=8Ù
Then Ù
62ãZÙ
Else Ù
If T=9Ù
Then Ù
52ãZÙ
IfEndÙ
IfEndÙ
IfEndÙ
IfEndÙ
IfEndÙ
IfEndÙ
IfEndÙ
IfEndÙ
IfEndÙ
Else Ù
Ù
GetkeyãZÙ
IfEndÙ
If Z>40Ù
Then Ù
If Z=74Ù
Then Ù
3ãUÙ
159ãVÙ
1ãKÙ
1ãLÙ
Ù
Else Ù
If Z=73Ù
Then Ù
3ãUÙ
104ãVÙ
1ãKÙ
2ãLÙ
Else Ù
If Z=72Ù
Then Ù
3ãUÙ
50ãVÙ
1ãKÙ
3ãLÙ
Else Ù
If Z=64Ù
Then Ù
45ãUÙ
159ãVÙ
2ãKÙ
1ãLÙ
Else Ù
If Z=63Ù
Then Ù
45ãUÙ
104ãVÙ
2ãKÙ
2ãLÙ
Else Ù
If Z=62Ù
Then Ù
45ãUÙ
50ãVÙ
2ãKÙ
3ãLÙ
Else Ù
If Z=54Ù
Then Ù
87ãUÙ
159ãVÙ
3ãKÙ
1ãLÙ
Else Ù
If Z=53Ù
Then Ù
87ãUÙ
104ãVÙ
3ãKÙ
2ãLÙ
Else Ù
If Z=52Ù
Then Ù
87ãUÙ
50ãVÙ
3ãKÙ
3ãLÙ
IfEndÙ
IfEndÙ
IfEndÙ
IfEndÙ
IfEndÙ
IfEndÙ
IfEndÙ
IfEndÙ
IfEndÙ
Mat M[L,K]ãIÙ
If IÈ0Ù
Then Ù
Goto 1Ù
IfEndÙ
If F=1Ù
Then Ù
1ãMat M[L,K]Ù
Circle (U+19),(V-22),20Ù
0ãFÙ
For 0ãI To 500:NextÙ
Else Ù
2ãMat M[L,K]Ù
Plot U,VÙ
Plot (U+37),(V-45)Ù
LineÙ
Plot (U+37),(V)Ù
Plot U,(V-45)Ù
LineÙ
1ãFÙ
0ãZÙ
For 0ãI To 500:NextÙ
IfEndÙ
1ãQÙ
1ãRÙ
1ãSÙ
While RÉ3Ù
If Mat M[Q,R]=S And Mat M[Q+1,R]=S And Mat M[Q+2,R]=SÙ
Then Ù
Ù
Goto 2Ù
IfEndÙ
Isz RÙ
If R=4 And S=1Ù
Then Ù
1ãRÙ
Isz SÙ
IfEndÙ
WhileEndÙ
1ãQÙ
1ãRÙ
1ãSÙ
While QÉ3Ù
If Mat M[Q,R]=S And Mat M[Q,R+1]=S And Mat M[Q,R+2]=SÙ
Then Ù
Goto 2Ù
IfEndÙ
Isz QÙ
If Q=4 And S=1Ù
Then Ù
1ãQÙ
Isz SÙ
IfEndÙ
WhileEndÙ
1ãSÙ
While SÉ2Ù
If Mat M[1,1]=S And Mat M[2,2]=S And Mat M[3,3]=SÙ
Then Ù
Goto 2Ù
IfEndÙ
Isz SÙ
WhileEndÙ
1ãSÙ
While SÉ2Ù
If Mat M[1,3]=S And Mat M[2,2]=S And Mat M[3,1]=SÙ
Then Ù
Goto 2Ù
IfEndÙ
Isz SÙ
WhileEndÙ
1ãIÙ
1ãJÙ
0ãEÙ
While JÉ3 And IÉ3Ù
Ù
If Mat M[I,J]È0Ù
Then Ù
E+1ãEÙ
EãList 1[1]Ù
IfEndÙ
Isz IÙ
If I=4 And JÈ3Ù
Then Ù
1ãIÙ
Isz JÙ
IfEndÙ
Ù
WhileEndÙ
If E=9Ù
Then Ù
Goto 2Ù
IfEndÙ
IfEndÙ
WhileEndÙ
Lbl 2Ù
ClrTextÙ
If S=1 And EÈ9Ù
Then Ù
A+2ãAÙ
Else Ù
If S=2 And EÈ9Ù
Then Ù
B+2ãBÙ
IfEndÙ
IfEndÙ
If E=9Ù
Then Ù
Isz AÙ
Isz BÙ
Locate 6,2,"EGALITE ·!··!··!·"Ù
Else Ù
Ù
Locate 6,2,"Le joueur "Ù
Locate 16,2,SÙ
Locate 6,3,"a gagne ·!··!··!·"Ù
IfEndÙ
Locate 8,5,"SCORE"Ù
Locate 2,6,"J1 :"Ù
Locate 7,6,AÙ
Locate 2,7,"J2 :"Ù
Locate 7,7,BÙ
Ù
While GetkeyÈ31:WhileEndÙ
Goto 3Ù
Savez vous ou est l'erreur ? J'ai l'impression que c'est des problèmes de if/while mal refermés ou je ne sais pas, mais ça fais au moins 2 heures que je bloque dessus sans trouvé cette *** d'erreur, et je commence à déséspérer...
Merci d'avance