π
<-
Chat plein-écran
[^]

Puissance 4 sur TI 83 CE - Win detection

Puissance 4 sur TI 83 CE - Win detection

Message non lude Zormuche » 11 Oct 2017, 01:52

Bonjour hier je me suis lancé un petit "projet" d'un puissance 4.

Tout marche bien seul problème la win detection

Pour info je stocke les infos du jeu dans une matrice 7*7. les cases du jeu (6*7) sont sur les rangées de 2 à 7. La rangée supérieure sert juste à savoir combien de pions sont déjà présent sur la colonne correspondante.

Le problème de la win detection donc, c'est que c'est extrêmement lent. Enfin je trouve. J'ai une idée très précise, mais là par exemple je viens d'entrer dans le programme la détection de seulement les gains verticaux et horizontaux de la couleur jaune (soit à peu près un quart de toute la win detection si je ne m'abuse) et ça prend déjà une seconde.

J'ai fait une boucle For pour le gain vertical, une boucle for pour le gain horizontal, qui vérifie simplement pour tous les cas possible qu'une rangée de 4 cases adjacentes a une somme de 76 (les cases prennent la valeur 19 pour la couleur jaune car c'est la valeur de la variable couleur JAUNE. Idem pour 11 pour le rouge)

je me demandais que peut être je pourrais vérifier que la somme est 44 ou 76, ce qui faciliterait peut être, je sais pas. Mais dans tous les cas si je fais ça, comment ensuite savoir si c'est le rouge ou le jaune qui a gagné?

Et si vous avez des astuces pour la win detection plus rapide, je suis preneur bien entendu

merci beaucoup
Avatar de l’utilisateur
Zormuche
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Prochain niv.: 33.3%
 
Messages: 3
Inscription: 16 Oct 2014, 20:40
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile
Classe: 2de

Re: Puissance 4 sur TI 83 CE - Win detection

Message non lude critor » 11 Oct 2017, 11:13

Salut.

Belle initiative de projet. :)
Pour préciser, tu souhaites tenir compte des alignements en diagonale aussi ou pas ?

Merci.
Image
Avatar de l’utilisateur
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Prochain niv.: 42.3%
 
Messages: 41496
Images: 14632
Inscription: 25 Oct 2008, 00:00
Localisation: Montpellier
Genre: Homme
Calculatrice(s):
MyCalcs profile
YouTube: critor3000
Twitter/X: critor2000
GitHub: critor

Re: Puissance 4 sur TI 83 CE - Win detection

Message non lude grosged » 11 Oct 2017, 14:53

Je ne sais pas comment, dans ton programme, la TI s'y prends pour "réfléchir"...

Mais je vais t'expliquer en 2 mots la seule façon de procéder que je connaisse (avec , par exemple, la TI ayant les croix, et l'adversaire les ronds ) :
C'est au tour de la TI ... elle scrute alors tous les quadruplets possibles (en diagonales, horizontalement, verticalement)
et va , à chaque fois, faire grimper la "cote" (au moyen d'un tableau dédié) de chacune des cases du quadruplet encore disponibles, en l'incrémentant d' une note (plus ou moins élevées) et ce, en fonction de l' état du quadruplet :

Par ordre d'importance:
quadruplets contenant au moins une croix et un rond : les cases vides ne valent rien ;)
_ _ _ _ : quadruplet inoccupé, les cases vides valent .00001
O _ _ _ : ... valent .001
X _ _ _ : ... valent .1
O O _ _ : ... 10
X X _ _ : ... 1000
O O O _ : ... 100000
X X X _ : ... 1000000

ça permet à la TI d'avoir un jeu offensif tout en parant aux menaces !

Au final, il nous suffit de consulter le tableau de valeurs : la case ayant eu la meilleure note (et dans ce cas de puissance4 possiblement jouable) représentant le meilleur coup ;)
Ainsi, si cette note se trouve dans telle ou telle fourchette de valeurs, c'est que la TI vient de gagner...ou perdre ;)

Je ne sais pas si j'ai été assez clair dans mes explications :p

En tout cas, j'ai personnellement écrit il y a quelques mois un connect4 pour TI-8x monochrome (voir archives_voir.php?id=869728 )
de cette manière, et ça marche plutôt bien :)

Tu peux consulter l'article (scanné par mes soins) qui -jadis- m'a appris tout ça, ici : gallery/album.php?album_id=334
(ça s'applique au jeu du "morpion" ça parle donc de quintuplets, mais le principe de raisonnement reste le même ;) )
Avatar de l’utilisateur
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 30.2%
 
Messages: 770
Images: 75
Inscription: 14 Sep 2011, 12:29
Genre: Non spécifié
Calculatrice(s):
MyCalcs profile


Retourner vers TI-Basic

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 8 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
Phi NumWorks jailbreak
123
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1184 utilisateurs:
>1140 invités
>39 membres
>5 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)