Poster un nouveau sujet Poster une réponse Page: 1,      >>
pendu
Auteur Message
tbmc
Invité
Posté le : Mar 08 Jui 2010, 10:53   Citer 

Un morpion assez difficile à gagner.



Code

EffDessin
GraphNAff
FonctNAff
AxesNAff
ZStandard
Lbl U
EffEcr
EffDessin
0üV:0üY:0üS:0üR
0üP
0üU
Menu("DEBUT","JOUEUR",J,"ORDI",B,"2 JOUEURS",H,"QUITTER",Q)
Lbl H
1üU
Goto 96
Lbl B
1üY:1üV:1üL(1
Goto 96
Lbl J
0üY:0üV:0üL(1
Lbl 96
EffEcr
EffDessin
0üA:0üB:0üC:0üÁ:0üK
0üE:0üF:0üG:0üH:0üI:0üJ:0üL:0üM:0üN:0üQ
EffVar Y
EffVar Y‚
EffVar r
EffVar r‚
Horizontale 4
Horizontale ú4
Verticale 4
Verticale ú4

Lbl 0
0üK:0üÁ:0üA:0üB
Horizontale 4
Horizontale ú4
Verticale 4
Verticale ú4


Lbl 1
If Eø0 et Fø0 et Gø0 et Hø0 et Iø0 et Jø0 et Lø0 et Mø0 et Nø0
Then
Texte(5,4,"MATCH NUL
Goto F
End
0üA:0üB:0üC
If V=1
Then
0üV
Goto A
End
0üK
codeTouch(üK
While K=0
codeTouch(üK
End
If K=92 et E=0
Then
ú7üA:ú7üB:1üE
End
If K=93 et F=0
Then
0üA:ú7üB:1üF
End
If K=94 et G=0
Then
7üA:ú7üB:1üG
End
If K=82 et H=0
Then
ú7üA:0üB:1üH
End
If K=83 et I=0
Then
0.1üA:0.1üB:1üI
End
If K=84 et J=0
Then
7üA:0üB:1üJ
End
If K=72 et L=0
Then
ú7üA:7üB:1üL
End
If K=73 et M=0
Then
0üA:7üB:1üM
End
If K=74 et N=0
Then
7üA:7üB:1üN
End
If K<72 ou K>94 ou (A=0 et B=0)
Then
codeTouch(üK
Goto 1
End
partEnt(A)üA
partEnt(B)üB
Ligne(A+2,B+2,A-2,B-2
Ligne(A+2,B-2,A-2,B+2
If ((E=1)(F=1)(G=1)) ou ((H=1)(I=1)(J=1)) ou ((E=1)(H=1)(L=1)) ou ((F=1)(I=1)(M=1)) ou ((G=1)(J=1)(N=1)) ou ((L=1)(M=1)(N=1))
Then
If U=0:Texte(5,4,"VOUS AVEZ GAGNE")
If U=1:Texte(5,4,"JOUEUR 1 GAGNE
P+1üP
Goto F
End
If ((E=1)(I=1)(N=1)) ou ((G=1)(I=1)(L=1))
Then
If U=0:Texte(5,4,"VOUS AVEZ GAGNE")
If U=1:Texte(5,4,"JOUEUR 1 GAGNE
P+1üP
Goto F
End
Lbl A
Horizontale 4
Horizontale ú4
Verticale 4
Verticale ú4
If Eø0 et Fø0 et Gø0 et Hø0 et Iø0 et Jø0 et Lø0 et Mø0 et Nø0
Then
Texte(5,4,"MATCH  NUL
Goto F
End
If U=0
Then
If E=0:1üC
If F=0:2üC
If G=0:3üC
If H=0:4üC
If I=0:5üC
If J=0:6üC
If L=0:7üC
If M=0:8üC
If N=0:9üC

If E=0 et F=0 et G=0 et H=0 et I=0 et J=0 et L=0 et M=0 et N=0
Then
If C>5:7üC
If C<6:5üC
End
If I=1 et E=0 et F=0 et G=0 et H=0 et J=0 et L=0 et M=0 et N=0:9üC
If I=1 et E=1 et N=2 et F=0 et G=0 et H=0 et J=0 et L=0 et M=0:7üC
If L=1 et E=0 et F=0 et G=0 et H=0 et I=0 et J=0 et M=0 et N=0:5üC
If N=1 et E=0 et F=0 et G=0 et H=0 et I=0 et J=0 et L=0 et M=0:5üC
If E=1 et F=0 et G=0 et H=0 et I=0 et J=0 et L=0 et M=0 et N=0:5üC
If G=1 et E=0 et F=0 et H=0 et I=0 et J=0 et L=0 et M=0 et N=0:5üC
If E=1 et F=1 et G=0
Then
3üC
End
If E=1 et F=0 et G=1
Then
2üC
End
If E=0 et F=1 et G=1
Then
1üC
End
If H=1 et I=1 et J=0
Then
6üC
End
If H=1 et I=0 et J=1
Then
5üC
End
If H=0 et I=1 et J=1
Then
4üC
End
If L=1 et M=1 et N=0
Then
9üC
End
If L=1 et M=0 et N=1
Then
8üC
End
If L=0 et M=1 et N=1
Then
7üC
End
If E=1 et H=1 et L=0
Then
7üC
End
If E=1 et H=0 et L=1
Then
4üC
End
If E=0 et H=1 et L=1
Then
1üC
End
If F=1 et I=1 et M=0
Then
8üC
End
If F=1 et I=0 et M=1
Then
5üC
End
If F=0 et I=1 et M=1
Then
2üC
End
If G=1 et J=1 et N=0
Then
9üC
End
If G=1 et J=0 et N=1
Then
6üC
End
If G=0 et J=1 et N=1
Then
3üC
End
If E=1 et I=1 et N=0:9üC
If E=1 et I=0 et N=1:5üC
If E=0 et I=1 et N=1:1üC
If G=1 et I=1 et L=0:7üC
If G=1 et I=0 et L=1:5üC
If G=0 et I=1 et L=1:3üC
If E=2 et F=2 et G=0:3üC
If E=2 et F=0 et G=2:2üC
If E=0 et F=2 et G=2:1üC
If H=2 et I=2 et J=0:6üC
If H=2 et I=0 et J=2:5üC
If H=0 et I=2 et J=2:4üC
If L=2 et M=2 et N=0:9üC
If L=2 et M=0 et N=2:8üC
If L=0 et M=2 et N=2:7üC
If E=2 et H=2 et L=0:7üC
If E=2 et H=0 et L=2:4üC
If E=0 et H=2 et L=2:1üC
If F=2 et I=2 et M=0:8üC
If F=2 et I=0 et M=2:5üC
If F=0 et I=2 et M=2:2üC
If G=2 et J=2 et N=0:9üC
If G=2 et J=0 et N=2:6üC
If G=0 et J=2 et N=2:3üC
If F=2 et I=2 et L=0:7üC
If F=2 et I=0 et L=2:5üC
If F=0 et I=2 et L=2:3üC
If E=2 et I=2 et N=0:9üC
If E=2 et I=0 et N=2:5üC
If E=0 et I=2 et N=2:1üC
End

If U=1
Then
0üK
codeTouch(üK
While K=0
codeTouch(üK
End
If K=92:1üC
If K=93:2üC
If K=94:3üC
If K=82:4üC
If K=83:5üC
If K=84:6üC
If K=72:7üC
If K=73:8üC
If K=74:9üC
End
0üK
If (C=1)(E=0)
Then
2üE:1üK
Cercle(ú7,ú7,2,{à
End
If (C=2)(F=0)
Then
2üF:1üK
Cercle(0,ú7,2,{à
End
If (C=3)(G=0)
Then
2üG:1üK
Cercle(7,ú7,2,{à
End
If (C=4)(H=0)
Then
2üH:1üK
Cercle(ú7,0,2,{à
End
If (C=5)(I=0)
Then
2üI:1üK
Cercle(0,0,2,{à
End
If (C=6)(J=0)
Then
2üJ:1üK
Cercle(7,0,2,{à
End
If (C=7)(L=0)
Then
2üL:1üK
Cercle(ú7,7,2,{à
End
If (C=8)(M=0)
Then
2üM:1üK
Cercle(0,7,2,{à
End
If (C=9)(N=0)
Then
2üN:1üK
Cercle(7,7,2,{à
End
If K=0
Then
Goto A
End
Lbl 68
If ((E=2)(F=2)(G=2)) ou ((H=2)(I=2)(J=2)) ou ((L=2)(M=2)(N=2)) ou ((L=2)(H=2)(E=2)) ou ((F=2)(I=2)(M=2)) ou ((G=2)(J=2)(N=2)) ou ((E=2)(I=2)(N=2)) ou ((G=2)(I=2)(L=2))
Then
If U=0:Texte(5,4,"VOUS AVEZ PERDU")
If U=1:Texte(5,4,"JOUEUR 2 GAGNE
P-1üP
Goto F
End
If V=1
Then
Goto 1
End



Goto 0
Lbl Q
Stop
Lbl F
0üK
Repeat Kø0
codeTouch(üK
End
If K=45 ou K=23
Then
EffEcr
EffDessin
Stop
End
If P>O
Then
PüL(2)
End

L(1)üQ
If Q=1:1üY
If Q=0:0üY
If Y=1:Goto J
If Y=0:Goto B



  Haut de page Bas de page 
 
tbmc
Invité
Posté le : Mar 08 Jui 2010, 10:57   Citer 

Et voila le pendu.


Code


Lbl Z
0üZ
Menu("PENDU ","1 JOUEUR",E,"ENTRER MOT",F,"QUITTER",Q
Lbl F
EffEcr
Lbl Y
Disp "MAX CARACTERE:",7
Disp "MOT A FAIRE"
Input "DEVINER: ",Cha ne3
longueur(Cha ne3)üA
If A>7
Then
Disp "MOT TROP LONG"
Goto Y
End
1üZ
Lbl E
0üX
Lbl B
If Z=1:Goto A
{0,0,0,0,0,0,0,0,0}üáEA
entAl–at(1,5)üX
If X=1 et áEA(1)=0
Then
"PORTE"üCha ne3
1üáEA(1
Goto A
End
If X=1 et áEA(1)=1:X+1üX
If X=2 et áEA(2)=0
Then
"ROBOT"üCha ne3
1üáEA(2
Goto A
End
If X=2 et áEA(2)=1:X+1üX
If X=3 et áEA(3)=0
Then
"CHIEN"üCha ne3
1üáEA(3
Goto A
End
If X=3 et áEA(3)=1:X+1üX
If X=4 et áEA(4)=0
Then
"CHAISE"üCha ne3
1üáEA(4
Goto A
End
If X=4 et áEA(4)=1:X+1üX
If X=5 et áEA(5)=0
Then
"TABLEAU"üCha ne3
1üáEA(5
Goto A
End
If X=5 et áEA(5)=1:1üX
If X>10:Goto B
Lbl A
EffEcr
0üE:10üF
" "üCha ne0
" "üCha ne1
" "üCha ne2
" "üCha ne5
" "üCha ne6
" "üCha ne7
" "üCha ne8
" "üCha ne9
longueur(Cha ne3)üA
"-"üCha ne1
If Aù2:"-"üCha ne2
If Aù3:"-"üCha ne5
If Aù4:"-"üCha ne6
If Aù5:"-"üCha ne7
If Aù6:"-"üCha ne8
If Aù7:"-"üCha ne9
Cha ne1üCha ne0
If A>1
Then
1üV
Repeat A=V
Cha ne0+Cha ne1üCha ne0
V+1üV
End
End
0üD
Lbl 2
EffEcr
Output(4,1,"MOT MYSTERE:"
Disp "LONGUEUR:"
Output(1,15,A
Output(5,1,Cha ne0
1üD
carCha ne(Cha ne0,"-",1)üD
If D=0
Then
Disp "GAGNER
Pause
If Z=1:Goto Z
Goto B
End
Output(8,1,"COUPS RESTANT:"
Output(8,15,F
Input "LETTRE: ",Cha ne4
sous-Cha ne(Cha ne4,1,1)üCha ne4
1üB
Lbl 1
carCha ne(Cha ne3,Cha ne4,B)üC
If Cø0
Then
C+1üB
If C=1:Cha ne4üCha ne1
If C=2:Cha ne4üCha ne2
If C=3:Cha ne4üCha ne5
If C=4:Cha ne4üCha ne6
If C=5:Cha ne4üCha ne7
If C=6:Cha ne4üCha ne8
If C=7:Cha ne4üCha ne9
Cha ne1üCha ne0
If Aù2:Cha ne0+Cha ne2üCha ne0
If Aù3:Cha ne0+Cha ne5üCha ne0
If Aù4:Cha ne0+Cha ne6üCha ne0
If Aù5:Cha ne0+Cha ne7üCha ne0
If Aù6:Cha ne0+Cha ne8üCha ne0
If Aù7:Cha ne0+Cha ne9üCha ne0
1üE
Goto 1
End
If E=0:F-1üF
If F=0
Then
Disp "PREDU
Stop
End
0üE
Goto 2
Lbl Q



  Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mar 08 Jui 2010, 11:19   Citer 

joli!!
j'ai pas le temps de recopier là, mais je testerai.

le pendu, c'est une idée originale.
le morpion en intelligence artificiele, chapeau!

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mar 08 Jui 2010, 22:18   Citer 

là je suis en train de recopier, et ... c'est très long et surtout répétitif.
A l'avenir utilise plus d'algorithmes pour alléger tes progs.
je sais, c'est difficile au début mais on s'y fait!

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
tbmc
Invité
Posté le : Mar 08 Jui 2010, 23:49   Citer 

C'est ce que j'essaye de faire d'habitude mais la je voit pas comment le simplifier.

  Haut de page Bas de page 
 
tbmc
Invité
Posté le : Mar 08 Jui 2010, 23:58   Citer 

Et pour ceux qui ne le savent pas le

Code
à


C'est le "i" en italique situe sur le point

  Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 09 Jui 2010, 10:16   Citer 

bien. je croyais que tu ne savis pas.
j'ai arrêté de recopier hier, je vais continuer aujourd'hui.

juste un truc pour silmplifier:
If E=0 peut s'écrire If non(E
If E=1 peut s'écrire juste If E (dans le sens ou E n'est pas nul)

If ((E=1)(F=1)(G=1)) ou ((H=1)(I=1)(J=1)) ou ((E=1)(H=1)(L=1)) ou ((F=1)(I=1)(M=1)) ou ((G=1)(J=1)(N=1)) ou ((L=1)(M=1)(N=1))
peut s'écrire:
IF EFG ou HIJ ou EHL ou FIM ou GJN ou LMN et ça simplifie vachement.

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 09 Jui 2010, 10:19   Citer 

d'ailleurs

If Eø0 et Fø0 et Gø0 et Hø0 et Iø0 et Jø0 et Lø0 et Mø0 et Nø0

peut s'écrire
If EFGHIJLMN

et
If E=0 et F=0 et G=0 et H=0 et I=0 et J=0 et L=0 et M=0 et N=0

peut s'écrire
If non(EFGHIJLMN)

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 09 Jui 2010, 10:21   Citer 

non!! excuse!! énorme erreur!


Citer

If E=0 et F=0 et G=0 et H=0 et I=0 et J=0 et L=0 et M=0 et N=0

peut s'écrire
If non(EFGHIJLMN)



c'est faux!
ça s'écrit If non(E+F+G+H+I+J+L+M+N)

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 09 Jui 2010, 10:31   Citer 

d'ailleurs tu n'as pas besoin de mettre les then et les end si ton if n'a qu'une seule opération à contenir:

If E=1 et F=1 et G=0:
Then
3->C
End

s'écrit
If E=1 et F=1 et G=0:3->C

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 09 Jui 2010, 10:45   Citer 

j'abandonne. je suis flemmard de nature.
si tu veux que ton prog soit utilisé, une version téléchargeable serait la bienvenue.(en tout cas pour le morpion).

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 09 Jui 2010, 10:53   Citer 

maitenant je suis au pendu, il me met err syntaxe à {0,0,0,0,0,0,0,0,0,0}->àEA

(j'ai bien remplacé à par le i au dessus du point.)

tu est sur que ce i ne serait pas plutôt le l de liste ([2nde][0][)][enter])

 Adresse email Haut de page Bas de page 
 
tbmc
Invité
Posté le : Mer 09 Jui 2010, 12:20   Citer 

Pour le pendu le "à" c'est dans le menu liste le 2e et tout en bas

  Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 09 Jui 2010, 15:07   Citer 

ok dac c'est bien ce que je pensais.

 Adresse email Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 09 Jui 2010, 16:53   Citer 

voilà un morpion à moi, inspiré de plusieurs morpions déjà existants, mais sans IA.
si tu veux tu peux essayer de rajouter l'IA sur mon prog qui est quand même plus simple.


Code

AxesNaff
0->S:0->R
1->P
Lbl Z
0->Y
EffDessin
PleinEcr
0->Xmin
50->Xmax
0->Ymin
30->Ymax
Ligne(0,10,30,10
Ligne(0,20,30,20
Ligne(10,2,10,29
Ligne(20,2,20,29
Verticale 35
Ligne(35,0,50,0
Ligne(35,30,50,30
1->C:1->D
2->A:2->B
0->T
If partDéc(P/2):1->T
{3,3}->dim([A]
For(K,1,3
For(G,1,3
0->[A](K,G)
End
End
Texte(10,85,"J.1"
Texte(52,85,"J.2"
Repeat 0
codeTouche->K
If K>=24 et K =<26 ou K=34:Then
A->C:B->D
End
If K=24:A-1->A
If K=25:B+1->B
If K=26:A+1->A
If K=34:B-1->B
If A=0:3->A
If B=0:3->B
If A=4:1->A
If B=4:1->B
Ligne(10C-1,10D-1,10C-1,10D-9,0
Ligne(10C-9,10D-1,10C-1,10D-1,0
Ligne(10C-9,10D-9,10C-1,10D-9,0
Ligne(10C-9,10D-9,10C-9,10D-1,0
Ligne(10A-1,10B-1,10A-1,10B-9
Ligne(10A-9,10B-1,10A-1,10B-1
Ligne(10A-9,10B-9,10A-1,10B-9
Ligne(10A-9,10B-9,10A-9,10B-1
Texte(28,69,"PARTIE :"
Texte(34,75,P
Texte(10,70,S
Texte(52,70,R
Ligne(44,22,50,22,T
Ligne(44,1.5,50,1.5,non(T
If K=45:Goto Q
If K=105 et [A](A,B):0->K
If K=105 et T=1:Then
1->[A](A,B)
Ligne(10A-8,10B-2,10A-2,10B-8
Ligne(10A-8,10B-8,10A-2,10B-2
End
If K=105 et T=0:Then
Cercle(10A-5,10B-5,3
2->[A](A,B)
End
If K=105:non(T->T
[A](1,1)->J
[A](1,2)->K
[A](1,3)->L
[A](2,1)->M
[A](2,2)->E
[A](2,3)->F
[A](3,1)->G
[A](3,2)->H
[A](3,3)->I
If JKL=1 ou MEF=1 ou GHI=1 ou JMG=1 ou KEH=1 ou LFI=1 ou JEI=1 ou LEG=1
Then
Ligne(0,12,50,12
For(K,12.5,18.5,0.5
Ligne(0,K,50,K,0
End
Ligne(0,19,50,19
Texte(28,20,"JOUEUR 1 GAGNE!"
P+1->P
S+1->S
1->Y
Pause
End
If JKL=8 ou MEF=8 ou GHI=8 ou JMG=8 ou KEH=8 ou LFI=8 ou JEI=8 ou LEG=8
Then
Ligne(0,12,50,12
For(K,12.5,18.5,0.5
Ligne(0,K,50,K,0
End
Ligne(0,19,50,19
Texte(28,20,"JOUEUR 2 GAGNE!"
P+1->P
R+1->R
1->Y
Pause
End
If non(Y) et J+K+L+M+E+F+G+H+I>=13:Then
Ligne(0,12,50,12
For(K,12.5,18.5,0.5
Ligne(0,K,50,K,0
End
Ligne(0,19,50,19
Texte(28,32,"RATE!!"
P+1->P
1->Y
Pause
End
If Y:Goto Z
End
Lbl Q
EffDessin
EffEcr
ZStandard
AxesAff
EffVar [A]
EffVar A:EffVarB: etc...,C,D,E,F,G,H,I,J,K,L,M,P,R,S,T,Y
Output(1,1,"




vu que j'ai pas arrêté de te trasher, fais pareil pour moi!

 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 09 Jui 2010, 17:19   Citer 

réflexion sur le pendu:
j'ai recopié ton prog, j'ai essayé, et quand je cherche à deviner le mot il écrit longueur: 1 alors que ce que j'avais rentré était plus long, et quand je rentre les bonnes lettres, il ne les affiche pas.
idem quand la calto tire un mot au sort.
je ne crois pas avoir fait d'erreur.
as tu testé ton prog?

si oui, j'ai du mal recopier quelque chose.

 Adresse email Haut de page Bas de page 
 
tbmc
Invité
Posté le : Mer 09 Jui 2010, 17:43   Citer 

Ouais je l'ai teste et normalement il marche tres bien

  Haut de page Bas de page 
 
tbmc
Invité
Posté le : Mer 09 Jui 2010, 17:49   Citer 

Pour le morpion, l'IA c'est 80% du programme

  Haut de page Bas de page 
 
tbmc
Invité
Posté le : Mer 09 Jui 2010, 17:55   Citer 

Je veut bien mettre une version telechargeable pour le morpion mais j sais pas trop comment on fait
Et si ta des problèmes pour recopier le pendu n'ésite pas a demander.

  Haut de page Bas de page 
 
Persalteas



Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mer 09 Jui 2010, 18:17   Citer 

dac.
je pose pas tout de suite, parce que la j'étais sur le site toute la journée et je commence à avoir mal aux yeux.

 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse Page: 1,      >>





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink