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
|
|
|
|
Google_AdSense
|
Publicité
|
|
|
|
|
F-BVXT
Autorisation : Membre
Nb de messages : 178
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 : 878
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
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
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 : 300
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 : 878
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
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
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 : 300
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 : 178
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. |
|
|
|
Google_AdSense
|
Publicité
|
|
|
|
|
The K
Autorisation : Membre
Nb de messages : 878
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
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
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 : 178
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 : 878
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
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
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 : 178
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 : 878
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
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
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 : 178
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 : 878
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
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
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 : 178
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 : 878
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
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
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 : 178
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 : 878
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
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
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 : 300
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 : 369
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 |
|
|
|