Rechercher
Connexion
Chatbox externe
Derniers sujets
Partenaires
TI-Planet | Espace-TI : Forum |
Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)
Les posteurs les plus actifs du mois
Aucun utilisateur |
prgm MORPION
+3
blg_flg
Wistaro
Cytropus
7 participants
Page 1 sur 1
prgm MORPION
Attention, c'est du lourd:
La syntaxe est la plus basique possible et avec une IA
Progamme MORPION
3897 octets
Programme @MORP
338 octets
voilà, avec un screenshot si possible!
La syntaxe est la plus basique possible et avec une IA
Progamme MORPION
3897 octets
- Code:
:PlotsOff
:FnOff
:AxesOff
:GridOff
:Lbl 0
:0->Xmin
:94->Xmax
:0->Ymin
:62->Ymax
:ClrHome
:ClrDraw
:Menu(">>>>MORPION<<<<<","1 JOUEUR",A,"2 JOUEURS",B,"QUITTER",D
:Lbl A
:Output(5,1,"3 LETTRES MAX
:Disp "NOM DU
:Input "JOUEUR 1:",Str1
:"IA->Str2
:Menu(">>>>>NIVAUX<<<<<","FACILE",1,"NORMAL",2
:Lbl 1
:1->H
:Goto C
:Lbl 2
:2->H
:Goto C
:Lbl B
:Output(5,1,"3 LETTRES MAX
:Disp "NOM DU
:Input "JOUEUR 1:",Str1
:Disp "NOM DU
:Input "JOUEUR 2:",Str2
:DelVar H
:Lbl C
:ClrHome[
:For(A,15,75,20
:For(X,1,3
:Vertical A+X
:End
:End
:For(A,-1,59,20
:For(X,1,3
:Horizontal A+X
:End
:End
:For(X,0,79,79
:For(A,0,15
:Line(A+X,0,A+X,62,0
:End
:End
:DelVar VDelVar [J]DelVar ADelVar B
:{3,3->dim([J]
:1->J
:Lbl 99
:Repeat [J](1,1) and [J](1,2) and [J](1,3) and [J](2,1) and [J](2,2) and [J](2,3) and [J](3,1) and [J](3,2) and [J](3,3)
:DelVar T
:For(A,0,79,79
:For(X,0,15
:Line(A+X,0,A+X,62,0
:End
:End
:Text(31,0,Str1
:Text(31,80,Str2
:If J=1
:78->X
:If J=2
:0->X
:For(Y,0,94,2
:Line(X,Y,X+16,Y-16
:End
:If J=1 or Str2=/="IA":Then
:While T=0
:getKey->T
:End
:End
:If T=72 and [J](1,1)=0:Then
:J->[J](1,1
:20->X
:58->Y
:End
:If T=73 and [J](1,2)=0:Then
:J->[J](1,2
:40->X
:58->Y
:End
:If T=74 and [J](1,3)=0:Then
:J->[J](1,3
:60->X
:58->Y
:End
:If T=82 and [J](2,1)=0:Then
:J->[J](2,1
:20->X
:38->Y
:End
:If T=83 and [J](2,2)=0:Then
:J->[J](2,2
:40->X
:38->Y
:End
:If T=84 and [J](2,3)=0:Then
:J->[J](2,3
:60->X
:38->Y
:End
:If T=92 and [J](3,1)=0:Then
:J->[J](3,1
:20->X
:18->Y
:End
:If T=93 and [J](3,2)=0:Then
:J->[J](3,2
:40->X
:18->Y
:End
:If T=94 and [J](3,3)=0:Then
:J->[J](3,3
:60->X
:18->Y
:End
:If J=1
:999->K
:If J=2
:888->K
:prgm@MORP
:If (J=[J](1,1) and J=[J](1,2) and J=[J](1,3)) or (J=[J](2,1) and J=[J](2,2) and J=[J](2,3)) or (J=[J](3,1) and J=[J](3,2) and J=[J](3,3)) or (J=[J](1,1) and J=[J](2,1) and J=[J](3,1)) or (J=[J](1,2) and J=[J](2,2) and J=[J](3,2)) or (J=[J](1,3) and J=[J](2,3) and J=[J](3,3)) or (J=[J](1,1) and J=[J](2,2) and J=[J](3,3)) or (J=[J](3,1) and J=[J](2,2) and J=[J](1,3)
:Goto V
:If [J](1,1) and [J](1,2) and [J](1,3) and [J](2,1) and [J](2,2) and [J](2,3) and [J](3,3) and [J](3,1) and [J](3,2):Then
:Disp "EGALITE"
:Pause
:Goto 0
:End
:If J=1:Then
:2->J
:Else
:If Str2=/="IA
:1->J
:End
:If J=2:Then
:If Str2="IA" and H:Then
:888->K
:randInt(1,9)->R
:If H=2:Then
:1->A
:2->B
:If [J](1,3)=0 and ((A=[J](1,1) and A=[J](1,2)) or (A=[J](2,2) and A=[J](3,1)) or (A=[J](2,3) and A=[J](3,3)) or (B=[J](1,1) and A=[J](1,2)) or (B=[J](2,2) and B=[J](3,1)) or (B=[J](2,3) and B=[J](3,3
:3->R
:If [J](1,1)=0 and ((A=[J](1,2) and A=[J](1,3)) or (A=[J](2,1) and A=[J](3,1)) or (A=[J](2,2) and A=[J](3,3)) or (B=[J](1,2) and B=[J](1,3)) or (B=[J](2,1) and B=[J](3,1)) or (B=[J](2,2) and B=[J](3,3
:1->R
:If [J](1,2)=0 and ((A=[J](1,1) and A=[J](1,3)) or (A=[J](2,2) and A=[J](3,2)) or (B=[J](1,1) and B=[J](1,3)) or (B=[J](2,2) and B=[J](3,2))
:2->R
:If [J](2,1)=0 and ((A=[J](1,1) and A=[J](3,1)) or (A=[J](2,2) and A=[J](2,3)) or (B=[J](1,1) and B=[J](3,1)) or (B=[J](2,2) and B=[J](2,3))
:4->R
:If [J](2,2)=0 and ((A=[J](1,1) and A=[J](3,3)) or (A=[J](2,1) and A=[J](2,3)) or (A=[J](1,3) and A=[J](3,1)) or (A=[J](1,2) and A=[J](3,2)) or (B=[J](1,1) and B=[J](3,3)) or (B=[J](2,1) and B=[J](2,3)) or (B=[J](1,3) and B=[J](3,1)) or (B=[J](1,2) and B=[J](3,2))
:5->R
:If [J](2,3)=0 and ((A=[J](2,2) and A=[J](2,1)) or (A=[J](1,3) and A=[J](3,3)) or (B=[J](2,2) and B=[J](2,1)) or (B=[J](1,3) and B=[J](3,3))
:6->R
:If [J](3,1)=0 and ((A=[J](1,1) and A=[J](2,1)) or (A=[J](3,2) and A=[J](3,3)) or (A=[J](2,2) and A=[J](1,3)) or (B=[J](1,1) and B=[J](2,1)) or (B=[J](3,2) and B=[J](3,3)) or (B=[J](2,2) and B=[J](1,3))
:7->R
:If [J](3,2)=0 and ((A=[J](3,1) and A=[J](3,3)) or (A=[J](1,2) and A=[J](2,2)) or (B=[J](3,1) and B=[J](3,3)) or (B=[J](1,2) and B=[J](2,2))
:8->R
:If [J](3,3)=0 and ((A=[J](1,1) and A=[J](2,2)) or (A=[J](1,3) and A=[J](2,3)) or (A=[J](3,1) and A=[J](3,2)) or (B=[J](1,1) and B=[J](2,2)) or (B=[J](1,3) and B=[J](2,3)) or (B=[J](3,1) and B=[J](3,2)
:9->R
:End
:If R=1:Then
:If [J](1,1):Goto 99
:2->[J](1,1)
:20->X
:58->Y
:End
:If R=2:Then
:If [J](1,2):Goto 99
:2->[J](1,2)
:40->X
:58->Y
:End
:If R=3:Then
:If [J](1,3):Goto 99
:2->[J](1,3)
:60->X
:58->Y
:End
:If R=4:Then
:If [J](2,1):Goto 99
:2->[J](2,1)
:20->X
:38->Y
:End
:If R=5:Then
:If [J](2,2):Goto 99
:2->[J](2,2)
:40->X
:38->Y
:End
:If R=6:Then
:If [J](2,3):Goto 99
:2->[J](2,3)
:60->X
:38->Y
:End
:If R=7:Then
:If [J](3,1):Goto 99
:2->[J](3,1)
:20->X
:18->Y
:End
:If R=8:Then
:If [J](3,2):Goto 99
:2->[J](3,2)
:40->X
:18->Y
:End
:If R=9:Then
:If [J](3,3):Goto 99
:2->[J](3,3)
:60->X
:18->Y
:End
:prgm@MORP
:If (J=[J](1,1) and J=[J](1,2) and J=[J](1,3)) or (J=[J](2,1) and J=[J](2,2) and J=[J](2,3)) or (J=[J](3,1) and J=[J](3,2) and J=[J](3,3)) or (J=[J](1,1) and J=[J](2,1) and J=[J](3,1)) or (J=[J](1,2) and J=[J](2,2) and J=[J](3,2)) or (J=[J](1,1) and J=[J](2,2) and J=[J](3,3)) or (J=[J](3,1) and J=[J](2,2) and J=[J](1,3)) or (J=[J](1,3) and J=[J](2,3) and J=[J](3,3
:Goto V
:1->J
:End
:End
:End
:End
:End
:End
:End
:Disp "EGALITE"
:Pause [
:DelVar KDelVar [J]ClrDraw
:Goto 0
:Lbl V
:DelVar KDelVar [J]
:If J=1
:Disp Str1
:If J=2
:Disp Str2
:Disp "A GAGNE
:Pause
:ClrDraw
:Goto 0
:Lbl D
:DelVar Str1DelVar Str2DelVar [J]DelVar K
:ClrDraw
:ClrHome
:Output(8,5,"prgm14*785ln(
:Output(1,3,"THANKS FOR
:Output(2,5,"PLAYING
:Output(7,9,"CYTROPUS
Programme @MORP
338 octets
- Code:
:If K=999
:Then
: Line(X+1,Y,X+14,Y-13
: Line(X,Y,X+14,Y-14
: Line(X,Y-1,X+13,Y-14
: Line(X+14,Y,X,Y-14
: Line(X+13,Y,X,Y-13
: Line(X+14,Y-1,X+1,Y-14
:End
:If K=888
:Then
: Line(X+7,Y,X,Y-7
: Line(X+7,Y,X+14,Y-7
: Line(X+14,Y-7,X+7,Y-14
: Line(X+7,Y-14,X,Y-7
: Line(X+1,Y-7,X+7,Y-1
: Line(X+2,Y-7,X+7,Y-2
: Line(X+7,Y-1,X+13,Y-7
: Line(X+7,Y-2,X+12,Y-7
: Line(X+13,Y-7,X+7,Y-13
: Line(X+12,Y-7,X+7,Y-12
: Line(X+7,Y-13,X+1,Y-7
: Line(X+7,Y-12,X+2,Y-7
:End
voilà, avec un screenshot si possible!
Cytropus- Intéressé
- Messages : 31
Points Concours : 15
Productivité : 2
Date d'inscription : 11/06/2013
Localisation : Paris
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: prgm MORPION
Pensez aux screenshots et aux liens qui évitent de tout recopier ou corriger avant de mettre dans un éditeur, c'est important !
blg_flg- Connaisseur
- Messages : 249
Points Concours : 45
Productivité : 6
Date d'inscription : 04/06/2013
Localisation : Pantruche
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: prgm MORPION
Vous avez deux systèmes d'IA différentes... Celui de Cytropus pique les yeux, mais est plus léger... et aussi moins beau.
Sur 82 Stats par contre 5000 octets le Morpion, c'est vraiment trop lourd.
J'en ai fait un en 3D et il faisait 3000 à tout casser (mais l'IA était primitive, je l'avoue, elle gagnait, empêchait de gagner, et si aucun de ces deux cas ne se présentait, elle jouait aléatoire.)
Sur 82 Stats par contre 5000 octets le Morpion, c'est vraiment trop lourd.
J'en ai fait un en 3D et il faisait 3000 à tout casser (mais l'IA était primitive, je l'avoue, elle gagnait, empêchait de gagner, et si aucun de ces deux cas ne se présentait, elle jouait aléatoire.)
Re: prgm MORPION
persalteas a écrit:Celui de Cytropus pique les yeux
heu.... je suis un peu d'accord avec toi mais après essai je me suis rendu compte que c'était le plus rapide (la vitesse du prgm).
persalteas a écrit:(mais l'IA était primitive, je l'avoue, elle gagnait, empêchait de gagner, et si aucun de ces deux cas ne se présentait, elle jouait aléatoire.)
pareil, les grands esprits se rencontre !
Cytropus- Intéressé
- Messages : 31
Points Concours : 15
Productivité : 2
Date d'inscription : 11/06/2013
Localisation : Paris
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: prgm MORPION
Le mien je l'avais fait quand j'avais ma calculatrice depuis pas longtemps (au début de cette années).
J'avais donc pas beaucoup de programme et je m'en fichais pas mal de la taille du programme.
En y regardant bien, je pense que on peut réduire le programme à 3000/4000 octet.
Et en plus, l'IA n'est pas totalement terminée...
Mais le programme est tellement lourd comme sa que je préfère pas en rajouter !
Je vais peut être le refaire, avec seulement un mode solo mais une IA extrêmement intelligente, et un design moins complexe...
J'avais donc pas beaucoup de programme et je m'en fichais pas mal de la taille du programme.
En y regardant bien, je pense que on peut réduire le programme à 3000/4000 octet.
Et en plus, l'IA n'est pas totalement terminée...
Mais le programme est tellement lourd comme sa que je préfère pas en rajouter !
Je vais peut être le refaire, avec seulement un mode solo mais une IA extrêmement intelligente, et un design moins complexe...
- Fichiers joints
Dernière édition par Wistaro le Mer 19 Juin 2013 - 14:04, édité 1 fois (Raison : Raison de quoi?)
Re: prgm MORPION
Dès que j'ai finit mon doodle jump.
PS: Dans mon morpion actuel, il y a juste les techniques de "défense" de l'IA...
Re: prgm MORPION
?
Le prgm est fini non?
Il y a le code complet...
Le prgm est fini non?
Il y a le code complet...
m@thieu41- ----------------------
- Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: prgm MORPION
je parlais de wistaro, maintenant qu'il a fini son doodle jump (qui est super, par ailleurs, bravo a lui). parce que j'en ai un qui est sans IA, mais qui possede les mechanismes de securité (empecher de remetre deux fois la croix) et les detections de gagné, perdu ou match nul. Je souhaitais alors m'en inspirer
rpgcreator- Connaisseur
- Messages : 252
Points Concours : 27
Productivité : 6
Date d'inscription : 16/09/2013
Localisation : Vernouillet 28
Calculatrice(s) :- TI-82 Stats.fr
. :
Re: prgm MORPION
Je propose celui-ci, je ne sais plus de qui il est...
Juste le mode multijoueur, et seulement 1340 octets.
Un lien.82p
Et un screenshot.gif
Juste le mode multijoueur, et seulement 1340 octets.
- Code:
- Code:
:AxesOff
0→S
0→R
1→P
Lbl Z
0→Y
ClrDraw
Full
0→Xmin
50→Xmax
0→Ymin
30→Ymax
Line(0,10,30,10
Line(0,20,30,20
Line(10,2,10,29
Line(20,2,20,29
Vertical 35
Line(35,0,50,0
Line(35,30,50,30
1→C:1→D
2→A:2→B
0→T
If int(P/2:1→T
{3,3}→dim([A]
For(K,1,3
For(G,1,3
0->[A](K,G)
End
End
Text(10,85,"J.1"
Text(52,85,"J.2"
Repeat 0
getKey→K
If K≥24 and K=26 or 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 A=4:1→A
If B=0:3→B
If B=4:1→B
Line(10C-1,10D-1,10C-1,10D-9,0
Line(10C-9,10D-1,10C-1,10D-1,0
Line(10C-9,10D-9,10C-1,10D-9,0
Line(10C-9,10D-9,10C-9,10D-1,0
Line(10A-1,10B-1,10A-1,10B-9
Line(10A-9,10B-1,10A-1,10B-1
Line(10A-9,10B-9,10A-1,10B-9
Line(10A-9,10B-9,10A-9,10B-1
Text(28,69,"PARTIE :"
Text(34,75,P
Text(10,70,S
Text(52,70,R
Line(44,22,50,22,T
Line(44,1.5,50,1.5,not(T
If K=45:Goto Q
If K=105 and [A](A,B):0→K
If K=105 and T=1:Then
1→[A](A,B)
Line(10A-8,10B-2,10A-2,10B-8
Line(10A-8,10B-8,10A-2,10B-2
End
If K=105 and T=0:Then
Circle(10A-5,10B-5,3
2→[A](A,B)
End
If K=105:not(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 or MEF=1 or GHI=1 or JMG=1 or KEH=1 or LFI=1 or JEI=1 or LEG=1:Then
Line(0,12,50,12
For(K,12.5,18.5,0.5
Line(0,K,50,K,0
End
Line(0,19,50,19
Text(28,20,"JOUEUR 1 GAGNE!
P+1→P
S+1→S
1→Y
Pause
End
If JKL=2³ or MEF=2³ or GHI=2³ or JMG=2³ or KEH=2³ or LFI=2³ or JEI=2³ or LEG=2³:Then
Line(0,12,50,12
For(K,12.5,18.5,0.5
Line(0,K,50,K,0
End
Line(0,19,50,19
Text(28,20,"JOUEUR 2 GAGNE!
P+1→P
R+1→R
1→Y
Pause
End
If J+K+L+M+E+F+G+H+I=13 and not(Y:Then
Line(0,12,50,12
For(K,12.5,18.5,0.5
Line(0,K,50,K,0
End
Line(0,19,50,19
Text(28,32,"RATE!!!
P+1→P
1→Y
Pause
End
If Y:Goto Z
End
Lbl Q
ClrDraw
ClrHome
ZStandard
AxesOn
Un lien.82p
Et un screenshot.gif
Re: prgm MORPION
Mercirpgcreator a écrit:je parlais de wistaro, maintenant qu'il a fini son doodle jump (qui est super, par ailleurs, bravo a lui). parce que j'en ai un qui est sans IA, mais qui possede les mechanismes de securité (empecher de remetre deux fois la croix) et les detections de gagné, perdu ou match nul. Je souhaitais alors m'en inspirer
Pas de sou cis désolé du retard :p
Pour mon Morpion Deluxe je suis en train de travailler sur l'IA
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|
Dim 16 Oct 2022 - 21:11 par Wistaro
» Bonne année 2018!
Ven 2 Nov 2018 - 19:42 par Ti64CLi++
» Lancement du TI-Concours 2017 !
Sam 20 Mai 2017 - 0:27 par Paulo1026
» Chaînes Youtube des membres
Ven 19 Mai 2017 - 22:41 par Wistaro
» cacul du taux d'intêret
Ven 24 Mar 2017 - 21:50 par m@thieu41
» [Projet] Un mario by tout82
Dim 29 Jan 2017 - 14:09 par Wistaro
» Cherche documentation assembleur TI82stat
Mer 25 Jan 2017 - 12:29 par Ti64CLi++
» Probleme Ti-82 Stats fr
Jeu 12 Jan 2017 - 13:56 par Ti64CLi++
» ROM 82 stats.fr
Jeu 15 Déc 2016 - 10:24 par Ti64CLi++