| Morpion |
| Auteur |
Message |
samsam
Invité
|
Posté le : Ven 15 Jui 2012, 16:13
|
|
|
Bonjour,
Je suis en train d'essayer de faire un morpion, pour l'instant il se joue uniquement à 2 sur la même calculatrice, il n'y a pas de mode contre la machine.
Il est un peu lent sur les conditions et emploie pas mal de variables.
Je voudrai savoir comment utiliser la fonction CapVar( pour jouer avec le câble.
Bien sur il peut être améliorer notamment un mode contre la calculatrice.
| Code |
3->dim(L1
3->dim(L2
3->dim(L3
Remplir(0,L1
Remplir(0,L2
Remplir(0,L3
EffVar [A]
{3,3->dim([A]
Disp [A]
While 1
Prompt X,Y
Input "joueur:",[thêta]
[thêta]->[A](Y,X
Matr>Liste([A],L1,L2,L3
somme(L1->D
somme(L2->E
somme(L3->F
L1(1)+L2(1)+L3(1->G
L1(2)+L2(2)+L3(3->H
L1(3)+L2(3)+L3(3->I
L1(1)+L2(2)+L3(3->J
L1(3)+L2(2)+L3(1->K
If D=12 ou E=12 ou F=12 ou G=12 ou H=12 ou I=12 ou J=12 ou K=12
Then
Disp "joueur 4 a gagne
Disp [A]
Stop
End
If D=3 ou E=3 ou F=3 ou G=3 ou H=3 ou I=3 ou J=3 ou K=3
Then
disp "joueur 1 a gagne
Disp [A]
Stop
End
End
|
Le jeu se fait avec les matrices vous l'aurez deviné.
Le joueur 4 n'est pas le joueur 2 par soucis d'égalité des lignes.
J'aurai pu ne pas utiliser les listes mais après 4h à les étudier il fallait que je les case quelque part 
|
| |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Ven 15 Jui 2012, 16:46
|
|
|
Pour utiliser CaptVar(, il faut faire : CaptVar(Variable.
Du coup, si par exemple la variable que tu souhaite récupérer est L1, alors il faut faire :
Ce qui copiera la valeur L1 de l'autre calculatrice vers ta valeur de L1. Par contre, je crois que l'autre calculette doit être du même modèle que le tient (TI 82-Stats et TI 82-Stats.fr sont incompatibles par exemple).
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Ven 15 Jui 2012, 16:57
|
|
|
Ou utiliser les matrices, ou utiliser les listes, mais pas les deux 
Dans ton cas voila ce que ça pourrait donner avec les listes, si tu préfères
| Code | EffListe L1,L2,L3
3->dim(L1
3->dim(L2
3->dim(L3
While 1
EffEcr
Disp L1,L2,L3
Prompt X,Y,J //J comme joueur ^^
If Y=1
J->L1(X
If Y=2
J->L2(X
If Y=3
J->L3(X
For(A,3,12,9
If A=somme(L1) ou somme(L2) ou somme(L3) ou L1(1)+L2(1)+L3(1) ou L1(2)+L2(2)+L3(3) ou L1(3)+L2(3)+L3(3) ou L1(1)+L2(2)+L3(3) ou L1(3)+L2(2)+L3(1
Then
Output(7,8,J
Pause "JOUEUR A GAGNE
Stop
End
End
End |
Après je ne suis pas le meilleur programmeur ici ... je pense que qqun d'autre va sortir qqchose de mieux que ça
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Ven 15 Jui 2012, 17:02
|
|
|
Je devrai mettre le programme à l'identique sur la 2ème calculatrice mais avec un Captvar( en début de boucle? Ou une fois le CaptVar( lancé la calculatrice continue à échanger la variable?
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Ven 15 Jui 2012, 17:13
|
|
|
Du manuel (faut penser a le regarder ça sert à ça un manuel ...)
| Citer | CaptVar() : capte le contenu d’une variable stockée sur une autre TI-82 Stats.fr et le mémorise dans variable sur la TI-82 Stats.fr de destination. variable peut être un nombre, un terme de liste, un nom de liste, un élément de matrice, un nom de matrice, une chaîne, une variable Y= , une base de données de graphe ou une image.
CaptVar(variable) |
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Ven 15 Jui 2012, 18:07
|
|
|
ça je l'ai vu mais ça ne répond pas à ma question 
La variable est captée une fois pour toute ou elle est régulièrement modifiée?
|
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Ven 15 Jui 2012, 18:11
|
|
|
J'ai jamais utilisé cette fonction mais la variable doit certainement être modifié à chaque passage de boucle, donc il faut un CaptVar à chaque fois que tu as besoin des données de l'autre calculette.
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Ven 15 Jui 2012, 22:44
|
|
|
Euh oui desole j'me suis un peu raté dans mon post précédant désolé ^^'
Donc eh ben une fois qu'elle est captée elle ne l'est qu'une fois ... Il faut recapter la valeur à chaque fois qu'elle est actualisée / qu'on en a besoin.
Et attention à la commande EnvoiVar( qui n'existe pas 
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Ven 15 Jui 2012, 22:54
|
|
|
Comme je n'ai jamais utilisé cette fonction et apparemment samsam non plus, je devance sa question : Ca veut dire qu'il va falloir alterner Prompt et CaptVar une boucle sur deux, c'est ça ?
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Ven 15 Jui 2012, 22:58
|
|
|
Je n'ai jamais utilisé CaptVar( non plus. Il va falloir que j'integre ça a mon propre morpion 
Donc euh ben ... Dans la boucle while Tu captvares puis tu promptes. Ou l'inverse. Peu importe tant que c'est avant l'intégration de la dernière case jouer à la matrice/liste et la vérification 
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Ven 15 Jui 2012, 23:09
|
|
|
| Citer | | Dans la boucle while Tu captvares puis tu promptes. Ou l'inverse. Peu importe tant que c'est avant l'intégration de la dernière case jouer à la matrice/liste et la vérification |
Ah bon, moi j'aurai plutôt fait quelque chose comme :
| Code |
EffVar I //cette ligne ne sert que si on veut que ce soit toujours le même
joueur qui commence
...
If partDéc(I/2)=0
Then
Prompt X,Y,J
Else
CaptVar(X
CaptVar(Y
CaptVar(J
End
...
I+1->I |
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Ven 15 Jui 2012, 23:14
|
|
|
Selon ma soluce tu prend mon optimisation proposée plus haut et juste avant le prompt tu rajoutes "CaptVar(L1,L2,L3
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Ven 15 Jui 2012, 23:19
|
|
|
Ah oui dans ce cas d'accord. Mais du coup je crois que si l'adversaire a gagné, tu devra quand même jouer, et si tu met un "coup gagnant" (oui, je sais j'ai trop regardé Roland Garros ) à ton tour il y aura donc 2 gagnants.
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Ven 15 Jui 2012, 23:26
|
|
|
Tout ça sont des détails 
Tout comme le fait que tu peux jouer deux fois de suite ou plus ^^
Tout comme sans les CaptVar tu peux jouer deux fois la même case.
Des détails qui ne demandent qu'à être réglés dans une version plus complète du morpion 
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Ven 15 Jui 2012, 23:32
|
|
|
C'est vrai que ça serait mieux que J s'initialise automatiquement à chaque tour de boucle, au lieu d'avoir à le rentrer. Surtout que contre des mauvais perdant, tu risque de te retrouver avec 3 croix alignés sans même avoir pu jouer 
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Ven 15 Jui 2012, 23:48
|
|
|
Yep ... Bon bah mon projet des vac's ^^ améliorer mon KMorpion ... Peut être même y intégrer une IA !
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Sam 16 Jui 2012, 0:30
|
|
|
Ah oui, tient je viens de regarder ton Morpion et bah comme ça on est deux à avoir fait un morpion graphique
Le tient est quand même plus légé que le mien mais ne barre pas les symboles à la fin de la partie.
Sinon, pour l'A.I (ah non c'est vrai l'I.A vu qu'on est sur le forum des 82 stats.fr ) si tu arrive chapeau parce que mes rares essais n'ont pas été très concluent (adversaire invincible ou totalement stupide en fonction des versions ).
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Sam 16 Jui 2012, 9:54
|
|
|
Oh ben je vais étudier les IA de Sandro / Linka / Persa et J'vais bien voir comment ils ont fait 
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Sam 16 Jui 2012, 13:15
|
|
|
J'ai une petite idée pour empêcher les rageurs!
Ils pourront toujours placer leurs "pions" sur les autres mais au moin c'est chacun son tour!
| Code |
9->dim(L4
1->L4(1
4->L4(2
1->L4(3
4->L4(4 // ECT jusqu'a 9
...
0->M
While 1
1+M->M
Prompt X,Y
L4(M)->[A](Y,X
|
Bon c'est un peu lourd mais j'ai pas trouvé mieu.
|
 |
|
| |
snap
Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
|
Posté le : Sam 16 Jui 2012, 13:18
|
|
|
si tu veux raccourcir un peu :
| Code | 1->L4(1
4->L4(2
1->L4(3
4->L4(4 // ECT jusqu'a 9
... |
devient
| Code | Remplir(1, L4
For(Z,2,8,2
4 -> L4(Z
End |
---------------------- Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes 
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Sam 16 Jui 2012, 13:28
|
|
|
Oui, sinon tu prend ce que j'ai mis plus haut en donnant directement la valeur de J :
| Code | EffVar I //cette ligne ne sert que si on veut que ce soit toujours le même
joueur qui commence
...
If non(partDéc(I/2 //ca équivaut à si I est pair
Then
Prompt X,Y
4->J
Else
CaptVar(X
CaptVar(Y
1->J
End
...
I+1->I //I sera donc pair un coup sur deux |
Ou, comme si J est égale à 1, J=1 renvoie 1, si J est égale à 4, J=4 renvoie 1 et dans les cas échéant ça renvoie 0, on peut faire ça :
| Code | 4->J
...
If J=4
Then
Prompt X,Y
Else
CaptVar(X
CaptVar(Y
End
...
4(J=1)+(J=4->J |
[/code]
Voilà, j'espère que ça t'as aidé.
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
snap
Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
|
Posté le : Sam 16 Jui 2012, 13:33
|
|
|
AAAAAhhhhh!!!!
| Code | | If partDéc(I/2=0 //ca équivaut à si I est pair |
Erreur monumentale 
faut fermer parenthèses avant le =0
ou alors tout simplement
---------------------- Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes 
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr |
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Sam 16 Jui 2012, 13:36
|
|
|
Ah oui merci de me le faire remarquer j'ai Edit mon message. De toute façon ça aurait faire une belle Erreur Syntaxe à cette ligne. 
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
snap
Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
|
Posté le : Sam 16 Jui 2012, 13:40
|
|
|
Non, la condition aurait juste toujours été fausse car que I/2=0 soit vrai ou faux, sa aurait donné 1 ou 0 or il n'y a pas de partie déciimale à 1 et 0 donc condition toujours fausse
---------------------- Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes 
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr |
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Dim 17 Jui 2012, 19:37
|
|
|
Il est presque au point grâce à vos conseils mais il manque un petit quelque chose...Un algorithme qui empêcherai de jouer 2 fois sur la même case!!
J'ai essayé quelque chose mais il fonctionne que la première fois puis il se fait oublier
| Code |
9->dim(L4
Remplir(1,L4
For(M,2,8,2
4->L4(M
End
27->dim(L4
EffVar M
{3,3->dim([A]
disp [A]
While 1
M+1->M
Repeat X != L4(10) ou L4(11) ou L4(12) ou L4(13) ou L4(14) ou L4(15) ou L4(16) L4(17) ou L4(18) et Y != L4(19) ou L4(20) ou L4(21) ou L4(22) ou L4(23) ou L4(24) ou L4(25) ou L4(26) ou L4(27)
Prompt X,Y
End
X->L4(M+9
Y->L4(M+18 //Après c'est la fin du premier programme
|
Je pense que le problème vient de la condition mais je n'en suis pas sur.
Merci d'avance.
|
 |
|
| |
F-BVXT
Autorisation : Membre
Nb de messages : 177
Inscrit le : Dim 27 Mai 2012, 20:38
|
Posté le : Dim 17 Jui 2012, 22:20
|
|
|
| Code | | Repeat X != L4(10) ou L4(11) ou L4(12) ou L4(13) ou L4(14) ou L4(15) ou L4(16) L4(17) ou L4(18) et Y != L4(19) ou L4(20) ou L4(21) ou L4(22) ou L4(23) ou L4(24) ou L4(25) ou L4(26) ou L4(27) |
Ca serait pas plutôt des "et" à la place des "ou" ?
Sinon, si on es à la fin du programme, ta boucle Repeat se termine bien mais il n'y a pas de End pour le "While 1".
---------------------- Il y a 10 types de personnes dans le monde : celles qui comprennent le binaire et celles qui ne le comprennent pas. |
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Lun 18 Jui 2012, 10:39
|
|
|
Disons que j'ai remplacé les "ou" par les "et" et la c'est tout le contraire, ça répète tout le temps même à la première valeur
| Code | | Repeat X != L4(10) et L4(11) et L4(12) et L4(13) et L4(14) et L4(15) et L4(16) et L4(17) et L4(18) ou Y != L4(19) et L4(20) et L4(21) et L4(22) et L4(23) et L4(24) et L4(25) et L4(26) et L4(27) |
ça devient enervant 
|
 |
|
| |
snap
Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
|
Posté le : Lun 18 Jui 2012, 11:08
|
|
|
ton erreur vient du fait que
| Code | | X != L4(10) ou L4(11) |
veut dire si X pas égal à L4(10) ou L4(11) != 0
Il faut toujours remettre X!= si tu veux que sa marche
Ou alors tout simplement :
| Code | | Repeat min(X != {L4(10),L4(11),L4(12),L4(13),L4(14),L4(15),L4(16),L4(17),L4(18)}) et min(Y != {L4(19),L4(20),L4(21),L4(22),L4(23),L4(24),L4(25),L4(26),L4(27) |
---------------------- Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes 
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Lun 18 Jui 2012, 11:53
|
|
|
Ta méthode fonctionne mais il reste un petit hic, ou alors j'ai mal recopié mais quand on entre 3,3 et 1,1 on ne peu plus utiliser des coordonnées qui comportent 3 et 1 c'est assez embêtant 
EDIT: Désolé ta méthode était bonne j'avais juste inversé X et Y
|
 |
|
| |
snap
Autorisation : Membre
Nb de messages : 364
Inscrit le : Dim 13 Fév 2011, 14:17
|
Posté le : Lun 18 Jui 2012, 11:58
|
|
|
| Code | | Repeat min(X != {L4(10),L4(11),L4(12),L4(13),L4(14),L4(15),L4(16),L4(17),L4(18)}) ET min(Y != {L4(19),L4(20),L4(21),L4(22),L4(23),L4(24),L4(25),L4(26),L4(27) |
Ta bien mit le "et"? Si ta mis un "ou" sa fera ce que ta dit. Sinon je sais pas d'ou sa vient
PS : Regarde si ta bien fermer les parenthèses 
---------------------- Commence un monopoly non graphique et compte bien le finir!
Lycée de l'escaut Valenciennes 
Fan de reflets d'acide!
le meilleur jeu du monde
http://snap-le-terrible.minitroopers.fr |
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Lun 18 Jui 2012, 14:33
|
|
|
Je crois que je vais devoir miser sur l'honnêteté de l'adversaire
De toute façon je suis même pas sur de pouvoir jouer contre un adversaire 
Merci à tous pour votre aide!
|
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Lun 18 Jui 2012, 14:49
|
|
|
Ben sinon quand une case de liste / matrice est remplie par le morpion il suffit de dire "si cette case est remplie et qu'on réappuie dessus ça ne fait rien". Ou "remplir cette case si et seulement si elle n'est pas remplie".
Jette un coup d'oeil à mon morpion si tu veux voir comment j'ai fait 
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Lun 18 Jui 2012, 15:20
|
|
|
Pourquoi je suis allé me casser la tête avec tout ça
| Code |
Repeat non([A](Y,X
Prompt X,Y
End
|
Vachement plus léger 
|
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Lun 18 Jui 2012, 18:47
|
|
|
Je voie que ça progresse : continuez comme ça !
| Citer : The K | Oh ben je vais étudier les IA de Sandro / Linka / Persa et J'vais bien voir comment ils ont fait  |
Sachez que je n'ai pas écrit d'IA contrairement à persalteas et sandro.
Consultez le site du TI-Concours-2012 pour avoir un maximum d'exemples de morpions dont quelques uns contenant une IA.
| Citer : The K | Et attention à la commande EnvoiVar( qui n'existe pas  |
Bien sûr que si cela existe ! utilise la fonction "Envoi()"
EDIT: d'après les messages qui suivent, seule CaptVar() permet d'échanger des données pour ce jeu.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Lun 18 Jui 2012, 20:50
|
|
|
Je sais ce que je dis linka ^^
On ne me piègera pas sur le manuel ! La commande envoi( existe bel et bien mais elle ne permet pas d'envoyer des données à une autre TI ... Elle était ense servir au départ avec du matériel d'acquisition de données scientifiques je crois (capteurs et autres).
La commande EnvoiVar, qui permettait d'envoyer des données à une autre Ti n'existe par contre pas.
Oh et merci pour le ti concours 2012 je n'y avais pas pense 
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Lun 18 Jui 2012, 21:53
|
|
|
D'accord.
| Citer : manuel ti82statfr | 0: CaptVar( Capte une variable d’une autre TI-82 STATS
A: Capt( Capte une variable de CBL ou CBR
B: Envoi( Envoie une variable à CBL ou CBR |
| Citer : manuel ti82stat | 0: GetCalc( Capte une variable d’une autre TI-82 STATS
A: Get( Capte une variable de CBL ou CBR
B: Send( Envoie une variable à CBL ou CBR |
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Mar 19 Jui 2012, 16:17
|
|
|
Bon j'ai pris la peine d'essayer de le mettre en un seul morceau malgré les autres morpions qui ont l'air meilleurs! D'ailleurs je doute que beaucoup de personnes en veuillent (on ne sait jamais!)
Je préfère le mode matrice/liste dsl the K
Il prend 421 octets de mémoire et 1000 en plus avec les variables
| Code |
3->dim(L1
3->dim(L2
3->dim(L3
Remplir(0,L1
Remplir(0,L2
Remplir(0,L3
EffVar [A]
9->dim(L4
Remplir(1,L4
For(M,2,8,2
4->L4(M
End
27->dim(L4
EffVar M
{3,3->dim([A]
Disp [A]
While 1
M+1->M
If partDec(M/2)=0 // Je n'ai pas encore 2 calculatrices mais sur l'autre
Then // ça sera
If partDec(M/2)=0
CaptVar(X Then
CaptVar(Y Repeat non([A](X,Y
Else Prompt X,Y
Repeat non([A](X,Y End
Else
Prompt X,Y CaptVar(Y
End CaptVar(X
End
End
X->L4(M+9
Y->L4(M+8
L4(M->[A](Y,X
Matr>liste([A],L1,L2,L3
somme(L1->D
somme(L2->E
somme(L3->F
L1(1)+L2(1)+L3(1->G
L1(2)+L2(2)+L3(2->H
L1(3)+L2(3)+L3(3->I
L1(1)+L2(2)+L3(3->J
L1(3)+L2(2)+L3(1->K
If D=12 ou E=12 ou F=12 ou G=12 ou H=12 ou I=12 ou J=12 ou K=12
Then
Disp "joueur 2 a gagne
Stop
End
If D=3 ou E=3 ou F=3 ou G=3 ou H=3 ou I=3 ou J=3 ou K=3
Then
Disp "joueur 1 a gagne
Stop
End
Disp [A]
End
|
Désolé pour les lignes sautées et les espaces j'ai eu un peu de mal avec la mise en page.
En parlant de 2 calculatrices, je suis à la recherche d'une TI qui a une bonne mémoire et qui est assez rapide, j'ai deja une 82stats.fr (qui a plus beaucoup de mémoire ) (ou l'on peu programmer bien-sur ) si vous avez quelques conseils à ce sujet 
|
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Mar 19 Jui 2012, 17:39
|
|
|
82stat: os 1.10001
82statfr: os 1.11fr7 , carte mère similaire à une 83plus
83: os 1.10
6MHz
28ko ram
abscence de mémoire d'archive.
83plus : ram 25ko, flash 160ko , os1.12 , 6MHz
84plus : os2.43
84pocket : os2.55mp
ram 25 ko , flash 480ko , 15MHz , horloge intégrée
83plus-SE : os 1.19 (pas d'horloge)
84plus-SE : os 2.43/2.55mp , horloge intégrée
ram 25 ko , flash 1540ko , 15MHz
-----
La ti84plusSilverEdition est le meilleur choix mémoire (1540ko) options et vitesse (15MHz) des Z80 (76 à 86).
La ti84pocketfr est une miniature de 84plus(NON-SE). Elle dispose du même système mais de seulement 480ko. (même vitesse)
La ti89 (titanium ?) gère le calcul formel et des choses que j'ignore. Elle SEMBLE plus accessible que les autres 68k.
=======================
J'ai écrit un programme conçu pour fonctionner en liaison de deux calculatrices. C'est en quelques sorte une continuité de mon ancien morpion.
Cependant il BLOQUE et je ne trouve pas pourquoi.
| Code | 0identity(3ü [A] // matrice carrée et nulle
2ü X
2ü Y
ClrHome
Output(4,X,"*
Output(Y,4,"*
0ü A // permettra de compter les coups
Menu("","J1",1,"J2",2
Lbl 2
Ans+1
Lbl 1
Ans+1ü I // chaque calculatrice possède un numéro
1ü J // numéro du joueu actif
If I=1
Goto 5 // le joueu 1 commence
Lbl 3
If A=9 // au dernier tour, cela permet de détecter le match nul
Goto 6
Repeat J=I or J>2 // retient le joueu inactif
Pause
GetCalc(J
End
GetCalc([A]
GetCalc(X
GetCalc(Y
Output(Y,X,3-I
GetCalc(A
If J=4
Goto 6
If J=3
Goto 7
Lbl 5
Repeat K=105 and not([A](Y,X
Repeat K
getKeyü K
End
Output(4,X," "
Output(Y,4," "
max(1,min(3,X-(K=24)+(K=26ü X
max(1,min(3,Y-(K=25)+(K=34ü Y
Output(4,X,"*
Output(Y,4,"*
End
Iü [A](Y,X // stock du coup
Output(Y,X,I
A+1ü A // compte des coups
3-Jü J // changement de joueur
If min(I^3-{[A](Y,1)[A](Y,2)[A](Y,3),[A](1,X)[A](2,X)[A](3,X),[A](1,1)[A](2,2)[A](3,3),[A](1,3)[A](2,2)[A](3,1
Goto 3
3ü J
Output(5,1,"GAGNE
Stop
Lbl 6
4ü J
Output(5,1,"MATCH NUL
Stop
Lbl 7
Output(5,1,"PERDU |
Je l'ai testé sous émulateur en m'assurant bien que les calcultatrices sont virtuellement reliées.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Mar 19 Jui 2012, 19:25
|
|
|
Parce que tu n'as pas défini Ans au début du programme ?
Ou parce que ta condition avec min( semble avoir un bout manquant ?
Ou je raconte des bêtises ? 
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Mar 19 Jui 2012, 20:31
|
|
|
Non.
Par contre je viens de trouver qu'une Pause est passée lorsque l'autre calculatrice prélève quelque chose, ce qui un gros problème.
Cela fait tourner en rond les boucles de blocages.
EDIT : j'ai trouvé une solution.
Il faut une Pause pour chaque transfert.
Dans ce programme, ne pressez jamais la touche "entrer" (sauf dans le menu initial).
Utilisez 2nde et les flèches pour jouer.
Les graphismes sont bas de gamme mais peuvent être améliorés.
| Code | 0identity(3ü [A]
2ü X
2ü Y
ClrHome
0ü J
0ü A
Menu("","J1",1,"J2",2
Lbl 2
Ans+1
Lbl 1
Ans+1ü I
If I=1
Goto 5
Goto 4
Lbl 3
If A=9
Goto 6
GetCalc(J
Pause
Pause
Pause
Pause
Pause
Lbl 4
Pause
GetCalc(X
GetCalc(Y
GetCalc(J
Output(Y,X,3-I
If J=4
Goto 6
If J=3
Goto 7
GetCalc([A]
GetCalc(A
Lbl 5
Output(4,X,"*
Output(Y,4,"*
Repeat K=21 and not([A](Y,X
Repeat K
getKeyü K
End
Output(4,X," "
Output(Y,4," "
max(1,min(3,X-(K=24)+(K=26ü X
max(1,min(3,Y-(K=25)+(K=34ü Y
Output(4,X,"*
Output(Y,4,"*
End
Output(4,X," "
Output(Y,4," "
Iü [A](Y,X
Output(Y,X,I
A+1ü A
If min(I^3-{[A](Y,1)[A](Y,2)[A](Y,3),[A](1,X)[A](2,X)[A](3,X),[A](1,1)[A](2,2)[A](3,3),[A](1,3)[A](2,2)[A](3,1
Goto 3
GetCalc(J
3ü J
Output(5,1,"GAGNE
Stop
Lbl 6
GetCalc(J
4ü J
Output(5,1,"MATCH NUL
Stop
Lbl 7
Output(5,1,"PERDU |
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Sam 30 Jui 2012, 14:25
|
|
|
J'ai trouvé la pire IA de morpion au monde!
http://jeux-flash.jeu-gratuit.net/jeux_multijoueurs/morpion-2_1143.html
Au passage j'editerai pour présenter la mienne 
|
 |
|
| |
blg_flg
Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
|
Posté le : Sam 30 Jui 2012, 15:34
|
|
|
Elle est pitoyable ton IA de morpion!
Le mec qui l'a créée est vraiment un sous doué! Même moi je peux en faire une meilleure. 
|
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Dim 05 Aoû 2012, 20:10
|
|
|
http://www.mediafire.com/file/gwqgomgvj2sfihj/TI84Plus.tig
Voila l'IA non optimisée ça fait assez longtemps que je l'ai fait
Il n'y a qu'une seule manière de la battre à vous de trouver!(FAC pour lancer le morpion)
Il y a aussi 2 jeux en axe avec, je me suis dis que ça ne pourrai pas faire de mal (ils ne sont pas de moi mais de quigibo)
P.S:Comment mettre un nom sur l'addresse?
|
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Dim 05 Aoû 2012, 21:14
|
|
|
Comment mettre ... pardon ? J'comprends pas.
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Dim 05 Aoû 2012, 21:31
|
|
|
| Citer |
Projet base de données : ici : stade :
|
Tu as mis un lien sur le mot "ici
Je veux savoir comment tu as fait
Je suppose que tu n'as pas testé le jeu 
|
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Dim 05 Aoû 2012, 21:38
|
|
|
Non je n'ai pas testé le jeu désolé 
(mais dis toi que je ne le fais pas pour grand monde j'égalise les choses )
Pour mettre comme dans ma signature :
[u r l =http.www.tout82.free.fr/forum/faketopicthekimthebestohyeahohyeahdaftpunkbrefjestoppe ] partie visible en orange du lien police 12 et caetera expression d'origine latine [...] <-- pas une balise [/ u r l]
En supprimant les espaces dans les balises 
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTION EN VIDEO
Mes programmes sur le site : Produit scalaire KMorpion Puissance 4 Mastermind
Mes nouveaux programmes de calcul formel : FCarré FPrime
Projet base de données : ici mais abandonné. Trop de travail ... |
 |
|
| |
Samos
Autorisation : Membre
Nb de messages : 295
Inscrit le : Lun 14 Mai 2012, 18:51
|
Posté le : Lun 06 Aoû 2012, 12:08
|
|
|
Merci =p
|
 |
|
| |