| Puissance K - tre |
| Auteur |
Message |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Ven 16 Mar 2012, 21:19
|
|
|
Bonjour à tous, progr-amateurs 
ça faisait un moment que je n'étais pas venu, et comme vous le voyez je ne sais toujours pas faire un c cédille majuscule ! (si qqun peut m'aider ^^')
Mais bref. Je suis en train de programmer depuis 4 mois (booooon, trèèès lentement !) un puissance 4.
Et comme on est dans la rubrique aide, j'aurais pas directement besoin d'aide (logique non ?). Mais plus globalement d'avis ou de conseils.
Ma première question sert plus à introduire le sujet : quelles sont les dimensions d'une grille de puissance 4 ? (oui j'ai pas fait beaucoup de puissance 4 sur le gros plateau bleu quand j'étais petit )
Vala, merci beaucoup ^^
---------------------- 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 ... |
 |
|
| |
sandro
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Ven 16 Mar 2012, 21:29
|
|
|
Salut,
la taille d'une grille de puissance 4 est de 7*6 (7 de large et 6 de haut).
Sinon, pour le Ç , tu entre Charmap dans Executer (dans le menu démarer) puis tu clique sur le Ç (7ème ligne si tu choisit la police arial) puis Sélectionner puis "Copier" puis tu colle où tu le veux. Sinon tu apuis sur Alt (pas Alt Gr) puis, sans le lacher, tu tape 0199 puis tu lacher.
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Ven 16 Mar 2012, 21:51
|
|
|
J'ai vu passer plusieurs puissance 4 depuis que je suis ici alors je peux t'assurer que tu trouveras autant d'exemples que nécessaire.
Et bien sûr je suis disponible pour me creuser les méninges. 
Bonne chance !
( Tiens ? Normalement le code ascii de Ç est 128 ? Alors pourquoi 0199 donne-t-il Ç ? )
(Charmap powaa !!!)
---------------------- 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 : Ven 16 Mar 2012, 22:55
|
|
|
7 x 6 ? Eh ben j'ai eu raison de demander j'avais commencé à programmer sur une matrice de 7 x 8 x')
Ça marche merci Sandro ♥
Bien maintenant passons au choses concrètes ... en fait désolé mais j'évite de regarder toute autre source de programme. N'ayant que peu de créativité (y compris pour les programmes) je serai capable de tout recopier sans le vouloir un programme que je ne regarderai que 5 minutes 
Donc j'étais parti sur une matrice de 7 x 8 (enfin ... 6 ^^') qui correspondait a la grille. Les cases de la matrice se remplissent avec des 1 ou 2 suivant le joueur. Afin que les "jetons" tombent bien en bas et que deux ne se superposent pas, je sauvegarde les positions verticales de chaque colonne dans une liste.
Qu'en pensez-vous ? 
(si vous comprenez rien à mon charabia dites le x') )
ÇÇ ♥ ♥ ☺
---------------------- 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é
|
|
|
|
| |
sandro
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Ven 16 Mar 2012, 22:59
|
|
|
perso, je te conseille plutôt 2 et 3 au lieux de 1 et 2 : si tu veux faire des tests en faisant des produits, ce sera peut-être plus simple (en tout cas, c'est pas plus compliqué, il faut just ajouter 1 au numéreau de joueur).
Après, à toi de voir selon si et/ou comment tu prévoit de tester la victoire.
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
 |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Ven 16 Mar 2012, 23:09
|
|
|
Cette méthode est tout à fait jouable. Je l'ai d'ailleurs employée.
(il y a beaucoup de points communs entre morpion et puissance4)
(je ne voulais pas dire que tu devais consulter d'autres programmes, mais ceux-ci peuvent permettre de se débloquer)
Je ne suis pas d'accord avec ton affirmation sandro.
0,1,2 sont parfaits pour effectuer des tests en produit.
Le moindre zéro rend un alignement invalide. 0*?*?*?=0
Le résultat 1=1^4 n'est possible qu'avec le produit de quatres 1.
Le résultat 16=2^4 n'est possible qu'avec le produit de quatre 2.
On utilise A*B*C*D=J^4 pour les cases A,B,C,D et variable de joueur J.
La première difficulté est de choisir des tests à proximité de chaque pion joué ou un crible.
(Moi j'ai déjà opté pour la proximité.)
---------------------- 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 |
 |
|
| |
sandro
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Ven 16 Mar 2012, 23:28
|
|
|
c'est vrai, quand il n'y a que 0,1 et 2, ça va, par contre ça peut poser problème si tu veux une IA : dans ce cas, le 1 est bien pour vide , le 2 et 3 étant pour les joueurs : comme ça on détecte facilement le nombre de pièces déjà présente sur la ligne.
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
 |
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Sam 17 Mar 2012, 10:58
|
|
|
Eh bien pour les conditions de victoire je comptais m'inspirer de mon morpion que j'ai déjà fait (hé ouais incapable de tout recréer x') ) avec une boucle for et des vérif' dans la matrice.
Mais pour l'IA euh ... on va laisser tomber je n'ai aucune idée comment en faire une (mais vraiment aucune !)
---------------------- 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 : Sam 17 Mar 2012, 13:55
|
|
|
Le crible est probablement le plus simple, mais je présume quelques inconvénients de lenteur.
En tout cas je t'encourage, jusque là tu immagines des choses qui ont déjà fait leurs preuves. 
Moi non plus je n'ai aucune idée de comment créer une IA.
sandro :
Détecter le nombre de cases remplies à partir de 1,2,3 n'est pas si facile.
Il faut prévoir 14 possibilités de produits, et on ne peut pas effectuer de tests d'inégalités car la table est irrégulière.
1*1*1*2=2
1*1*1*3=3
1*1*2*2=4
1*1*2*3=6
1*1*3*3=9 ///
1*2*2*2=8 ///
1*2*2*3=12
1*2*3*3=18
1*3*3*3=27 ///
2*2*2*2=16 ///
2*2*2*3=24
2*2*3*3=36
2*3*3*3=54
3*3*3*3=81
Je suis plutôt d'avis d'effectuer des opérations entre des tests, ce qui peut s'adapter aussi bien à la base 0,1,2 qu'à 1,2,3
Pour compter les cases remplies : (A=/=0)+(B=/=0)+...
Pour compter le nombre de 1 : (A=1)+(B=1)+...
Pour compter le nombre de 2 : (A=2)+(B=2)+...
Et pour tester des arrangements, c'est encore pire.
---------------------- 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 : Sam 17 Mar 2012, 21:53
|
|
|
Tiens, oui, si quelqu'un serait prêt à créer une IA pour mon puissance 4, je suis preneur 
Ce serait une bonne idée (après, est-ce que qqun sur ce forum en est capable ... c'est tout de même assez compliqué non ?).
Je lui offrirais euh ... un gros smack ? 
---------------------- 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 ... |
 |
|
| |
sandro
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
|
Posté le : Sam 17 Mar 2012, 22:10
|
|
|
Le problème avec une IA, est d'abbord de connaitre le niveau qu'on veut qu'elle ait (plus elle est performante, plus c'est dur à faire).
Ensuite, il faut réussir à trouver les meilleurs manières de jouer (pour le puissance 4, on peut commencer par voir si l'IA peut gagner et sinon vérifier si tu peut gagner (eventuellement couplé à un risque "d'erreur d'inatention") et enffin si le mouvement qu'elle envisage te permet de gagner. La suite devient bien plus dure : comment programmer pour que l'IA évite les "pièges", ou qu'elle en crée?
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes |
 |
|
| |
Google_AdSense
|
Publicité
|
|
|
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Sam 17 Mar 2012, 22:16
|
|
|
Ah ben oui dit comme ça c'est plus dur ^^'
Donc en gros une IA bien optimisée et tout ferait au minimum qqchose dans les 1500 octets, qui serait donc assez lente et qui ferait la moitié du programme.
J'en serai donc plus qu'à la moitié l'auteur ! J'crois que je vais faire sans au final
Bon ben du coup j'continue mon petit bout de chemin et je vous tiens au courant ... (actuellement y m'faut les conditions de victoires, faire une sorte de mode "compte à rebours" et peaufiner deux / trois détails ...)
---------------------- 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é
|
|
|
|
| |
The K
Autorisation : Membre
Nb de messages : 850
Inscrit le : Sam 15 Oct 2011, 11:07
|
Posté le : Dim 18 Mar 2012, 10:36
|
|
|
Eh ben en parlant de conditions de victoires ... j'y arrive pas Et j'ai besoin de votre aide vraiment ce coup-ci
Donc on a la variable J qui détermine le joueur qui joue, à savoir J1 ou J2 ; la matrice [A], matrice de 6*7 qui répertorie les 1 ou 2 à l(intérieur (les cases jouées : je rappelle que le bas de la matrice est remplie avant le haut, c'est un puissance 4 ), la variable V qui représente la ligne, et W la colonne.
Et avec tout ça j'arrive pas à vérifier toutes les combinaisons possibles, à savoir vertical horizontal en diagonale, sans que ça sorte de la matrice "DIM Invalide" et ... bref. HELP !
(micii ^^)
---------------------- 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 : Dim 18 Mar 2012, 13:10
|
|
|
J'ai deux solutions à te proposer.
La première est de regarder l'organisation des boucles de ce programme
Les débuts et fins de boucles sont étudiés pour ne pas dépasser de la grille.
La seconde est d'effectuer des tests de validité des coordonnées qui empêchent les tests de cases de tomber dans le vide.
(de manière similaire à ce programme sauf que toi tu veux tester toute la matrice)
| Code | For
If coordonnées valides
Then
If alignement
Then
...
End
End
End |
ps: j'ai fini par trouver ton morpion sur le forum
---------------------- 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 : Dim 18 Mar 2012, 15:22
|
|
|
Ah oui quand même ... eh bien je crois que tout considéré, je vais finir le puissance4 sans vérification, et je vais en rajouter une après, si j'en ai le temps et l'envie ^^'
---------------------- 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 : Dim 18 Mar 2012, 15:59
|
|
|
Oublie mon programme qui diffère sur quelques aspects.
Ce qui est essentiel est la structure que j'ai décrite dans mon précédent message.
Elle est valable qu'on utilise une matrice ou des pixel-test, qu'on effectue un crible ou un test.
Je dis ça juste pour être clair car bien sûr tu peux choisir l'autre solution.
---------------------- 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 |
 |
|
| |