Autorisation : Membre
Nb de messages : 19
Inscrit le : Sam 31 Mai 2008, 15:10
Posté le : Ven 29 Aoû 2008, 13:57
bonjour
je poste ici deux nouvelles versions de mon morpion
- une a deux joueurs sur une ti et l'autre à deux joueurs sur deux ti
( les touches sont celles de 1 à 9, elles représentes les cases)
2üD
0üT
0üU
{3,3}üdim([A]
Lbl Á
0üG
0üC
0üA
0üB
0üH
0üL
ClrHome
Fill(0,[A]
Output(1,1,">< +--+--+--+() ! ! ! ! +--+--+--+ ! ! ! ! +--+--+--+ ! ! ! ! +--+--+--+
Output(2,1,T
Output(2,15,U
Lbl 2
abs(D-3)üD
Output(8,8,"><
If D=2
Output(8,8,"()
0üA
Lbl 1
getKeyüC
round(C/10,0)-6üA
C-61-A10üB
If B÷0 or A÷0 or Cù95
Goto 1
If [A](A,B)=0
Then
Dü[A](A,B)
Else
Goto 1
End
3B+2üB
2AüA
If D=2
Output(A,B,"()
If D=1
Output(A,B,"><
H+1üH
If Hù5
Then
If H=9
3üG
For(R,1,3
If ([A](R,1)=D and [A](R,2)=D and [A](R,3)=D) or ([A](1,R)=D and [A](2,R)=D and [A](3,R)=D) or ([A](1,1)=D and [A](2,2)=D and [A](3,3)=D) or ([A](1,3)=D and [A](2,2)=D and [A](3,1)=D)
DüG
End
End
If Gø0
Goto 3
Goto 2
Lbl 3
ClrHome
If G=1
Then
Output(4,5,">< A GAGNE
T+1üT
End
If G=2
Then
Output(4,5,"() A GAGNE
U+1üU
End
If G=3
Output(4,5,"MATCH NUL
Pause
Goto Á
2ème version (785o)
Code
2üD
2üÁ
Menu(">MORPION V 2.0< ","><",A,"()",B
Lbl A
1üÁ
Lbl B
0üT
0üU
Lbl Á
0üG
0üC
0üA
0üB
0üH
ClrHome
{3,3}üdim([A]
Fill(0,[A]
Output(1,1,">< +--+--+--+() ! ! ! ! +--+--+--+ ! ! ! ! +--+--+--+ ! ! ! ! +--+--+--+
Output(2,1,T
Output(2,15,U
Lbl 2
0üX
0üY
abs(D-3)üD
Output(8,8,"><
If D=2
Output(8,8,"()
If Á=D
Then
Lbl 1
getKeyüC
round(C/10,0)-6üA
C-61-A10üB
If B÷0 or A÷0 or Cù95
Goto 1
If [A](A,B)=0
Then
Dü[A](A,B)
Else
Goto 1
End
1üX
Pause
Pause
End
If ÁøD
Then
While Xø1
Get(X
End
Get([A]
End
H+1üH
0üX
For(N,1,3
For(I,1,3
2IüA
3N+2üB
If [A](I,N)=1
Output(A,B,"><
If [A](I,N)=2
Output(A,B,"()
End
End
If Á=1 and Hù5
Then
If H=9
3üG
For(R,1,3
If ([A](R,1)=D and [A](R,2)=D and [A](R,3)=D) or ([A](1,R)=D and [A](2,R)=D and [A](3,R)=D) or ([A](1,1)=D and [A](2,2)=D and [A](3,3)=D) or ([A](1,3)=D and [A](2,2)=D and [A](3,1)=D)
DüG
End
1üY
Pause
Pause
End
If Á=2
Then
While Yø0
Get(Y
End
Get(G
End
If Gø0
Goto 3
Goto 2
Lbl 3
ClrHome
If G=1
Then
Output(4,5,">< A GAGNE
T+1üT
End
If G=2
Then
Output(4,5,"() A GAGNE
U+1üU
End
If G=3
Output(4,5,"MATCH NUL
Pause
Goto Á
Autorisation : Membre
Nb de messages : 3370
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Ven 29 Aoû 2008, 19:06
A mon avis, il serait plus imple et plus économique en octets d'utiliser des listes au lieu des matrices.
De plus, évite d'utiliser les then/end car ils ralentissent le programme.
Dans ton cas, au lieu de mettre:
Code
If Cù72 and C÷74
Then
1üA
C-71üB
End
If Cù82 and C÷84
Then
2üA
C-81üB
End
If Cù92 and C÷94
Then
3üA
C-91üB
End
Met plutôt:
Code
If Cù72 and C÷74
1üA
If Cù82 and C÷84
2üB
End
If Cù92 and C÷94
3üA
C-61-A10üB
Autorisation : Membre
Nb de messages : 630
Inscrit le : Sam 23 Jui 2007, 14:05
Posté le : Dim 31 Aoû 2008, 10:03
après il fau t arreter de descendre le programme.
d'ailleur pour la nouvelle version de pes sans lag j'ai besoin d'aide pour raccourcir et atteindre l'objectif de 1 match = 1 minute je montrerais le code bientot.