Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » Petit problème de matrices
Pitterro Hors ligne Membre Points: 52 Défis: 0 Message

Petit problème de matrices

Posté le 16/12/2012 18:24

Bonjour !

Je suis débutant (et un mauvais ), et je souhaite me créer un petit morpion avec IA. joueur vs joueur fonctionne bien, mais j'ai un problème avec l'IA ... Mon programme est pas du tout optimisé, je le ferai plus tard. Si l'affichage est lent, c'est normal, c'était un test pour l'affichage.
Bon, j'explique le problème : dès qu'une case est validée par le joueur, ça met 1 dans la case concernée, dans la matrice A. Après, je fais un simple Int(Ran#x9)+1 pour avoir un numéro aléatoire. Je fais une petite boucle pour que tant que le numéro obtenu par ce système est égal au numéro de la case de la matrice A. Le problème est que ça ne marche pas !!! Étant un mauvais, j'ai pas trouvé le bog !!! Quelqu'un peut m'aider ? Dernière chose, le prog "Remise 0", c'est juste ça :
0->A~Z
ClrText
ClrGraph
ClrList1
ClrList2
Return

Le bébé est ici
Fermer

Prog "REMISE 0"
{3,3}->Dim Mat A
Fill(9,Mat A)
{3,3}->Dim Mat B
Fill(0,Mat B)
1.01->M~Q
" PAC vous presente"
1->T
While S<>1
While T<>7
Locate T,2,"LE MORPION"
T<>1=>Locate T-1,2,"="
Isz T
0->R
While R<>30
Isz R
WhileEnd
WhileEnd
Isz S
WhileEnd
16->T
0->S
While S<>1
While T<>21
Locate T,2,"="
Isz T
0->R
While R<>30
Isz R
WhileEnd
WhileEnd
Isz S
WhileEnd
ClrText
Lbl A
" PAC vous presente"
"=====LE MORPION====== Vous voulez jouer contre :"
"Un humain -> 0 La calculatrice -> 1"?->W
W=0=>Goto 0
ClrText
"Entrez votre niveau de difficulte :"
""
"1 -> tres facile 2 -> moyen 3 -> imbattable"?->U
ClrText
Lbl 0
G<>0=>1->Mat A[1,1]
H<>0=>1->Mat A[1,2]
I<>0=>1->Mat A[1,3]
D<>0=>1->Mat A[2,1]
E<>0=>1->Mat A[2,2]
F<>0=>1->Mat A[2,3]
A<>0=>1->Mat A[3,1]
B<>0=>1->Mat A[3,2]
C<>0=>1->Mat A[3,3]
ViewWindow 1,127,0,1,63,0
0->Y
Isz Z
Z=3=>1->Z
X=1=>Goto 1
F-Line 1,63,60,63
F-Line 1,63,1,3
F-Line 1,3,60,3
F-Line 60,63,60,3
F-Line 20,63,20,3
F-Line 40,63,40,3
F-Line 1,43,60,43
F-Line 1,23,60,23
Text 15,9,"7"
Text 15,29,"8"
Text 15,49,"9"
Text 34,9,"4"
Text 34,29,"5"
Text 34,49,"6"
Text 54,9,"1"
Text 54,29,"2"
Text 54,49,"3"
Text 15,65,"Quel est votre"
Text 21,65,"choix, joueur"
Text 21,123,"?"
Text 33,65,"Recommencer:0"
W=1=>Text 50,65,"IA niv , v."
U<>0=>Text 50,91,U
U<>0=>Text 50,112,Q
Text 58,65,"Prog v 1.0"
StoPict 1
'DESSIN RONDS ET CAR
Lbl 1
RclPict 1
A=1=>F-Line 1,63,20,43
A=1=>F-Line 20,63,1,43
A=2=>Circle 10,53,8
B=1=>F-Line 21,63,40,43
B=1=>F-Line 40,63,21,43
B=1=>3->B
B=2=>Circle 30,53,8
C=1=>F-Line 41,63,60,43
C=1=>F-Line 60,63,41,43
C=2=>Circle 50,53,8
D=1=>F-Line 1,43,20,23
D=1=>F-Line 20,43,1,23
D=2=>Circle 10,33,8
E=1=>F-Line 21,43,40,23
E=1=>F-Line 40,43,20,23
E=2=>Circle 30,33,8
F=1=>F-Line 41,43,60,23
F=1=>F-Line 60,43,40,23
F=2=>Circle 50,33,8
G=1=>F-Line 1,23,20,3
G=1=>F-Line 20,23,1,3
G=2=>Circle 10,13,8
H=1=>F-Line 21,23,40,3
H=1=>F-Line 41,23,20,3
H=2=>Circle 30,13,8
I=1=>F-Line 41,23,60,3
I=1=>F-Line 60,23,40,3
I=2=>Circle 50,13,8
1->X
StoPict 1
Text 21,118,Z
0->Y
W=1 And Z=2=>Goto R
W=0=>Goto 3
W=1 And Z=1=>Goto 3
Lbl 3
While Y<>71 And Y<>72 And Y<>62 And Y<>52 And Y<>73 And Y<>63 And Y<>53 And Y<>74 And Y<>64 And Y<>54 And Y<>47
Getkey->Y
WhileEnd
Y=72=>7->V
Y=62=>8->V
Y=52=>9->V
Y=73=>4->V
Y=63=>5->V
Y=53=>6->V
Y=74=>1->V
Y=64=>2->V
Y=54=>3->V
Y=71=>Prog "REMISE 0"
Y=71=>Goto 0
Y=47=>0->Z
Y=47=>0->X
Y=47=>Goto A
Lbl 8
If W=0 And Z=1
Then V=1=>1->A
V=2=>1->B
V=3=>1->C
V=4=>1->D
V=5=>1->E
V=6=>1->F
V=7=>1->G
V=8=>1->H
V=9=>1->I
Goto 0
IfEnd
If W=0 And Z=2
Then V=1=>2->A
V=2=>2->B
V=3=>2->C
V=4=>2->D
V=5=>2->E
V=6=>2->F
V=7=>2->G
V=8=>2->H
V=9=>2->I
Goto 0
IfEnd
Lbl 7
If W=1 And Z=1
Then V=1=>1->A
V=2=>1->B
V=3=>1->C
V=4=>1->D
V=5=>1->E
V=6=>1->F
V=7=>1->G
V=8=>1->H
V=9=>1->I
Goto 0
IfEnd
If W=1 And Z=2
Then V=7=>2->A
V=8=>2->B
V=9=>2->C
V=4=>2->D
V=5=>2->E
V=6=>2->F
V=1=>2->G
V=2=>2->H
V=3=>2->I
Goto 0
IfEnd
Goto 0
'REFLEXION
Lbl R
Fill(0,Mat B)
0->V
Int (Ran#*9)+1->V
V=1=>1->Mat B[1,1]
V=1=>A=Mat B[1,1]=>Goto R
V=2=>1->Mat B[1,2]
V=2=>B=Mat B[1,2]=>Goto R
V=3=>1->Mat B[1,3]
V=3=>C=Mat B[1,3]=>Goto R
V=4=>1->Mat B[2,1]
V=4=>D=Mat B[2,1]=>Goto R
V=5=>1->Mat B[2,2]
V=5=>E=Mat B[2,2]=>Goto R
V=6=>1->Mat B[2,3]
V=6=>F=Mat B[2,3]=>Goto R
V=7=>1->Mat B[3,1]
V=7=>G=Mat B[3,1]=>Goto R
V=8=>1->Mat B[3,2]
V=8=>H=Mat B[3,2]=>Goto R
V=9=>1->Mat B[3,3]
V=9=>I=Mat B[3,3]=>Goto R
V
Goto 7


Fichier joint


Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 16/12/2012 19:27 | #


Si tu es débutant tu peux commencer par des trucs plus simples, mais bon, si tel est ton souhait...

1) Mets une vraie boucle et pas un Lbl/Goto !
2) Décompose ton V plutôt que mettre plein de conditions !

Ajouté le 16/12/2012 à 19:33 :
X : Int((V-1)/3+1)
Y : 9-3*Int((V-1)/3+1)
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 17/12/2012 22:34 | #


Ton cours ne présente pas l'intelligence artificielle, Piterro veut en faire une.
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 72 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd