π
<-

Puissance 4 sur TI 83 CE - Win detection

Puissance 4 sur TI 83 CE - Win detection

Unread postby 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
User avatar
Zormuche
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 33.3%
 
Posts: 3
Joined: 16 Oct 2014, 20:40
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: 2de

Re: Puissance 4 sur TI 83 CE - Win detection

Unread postby 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
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 54.4%
 
Posts: 42496
Images: 17334
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Puissance 4 sur TI 83 CE - Win detection

Unread postby 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 ;) )
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 32.5%
 
Posts: 776
Images: 92
Joined: 14 Sep 2011, 12:29
Gender: Male
Calculator(s):
MyCalcs profile


Return to TI-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 8 guests

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
4167 utilisateurs:
>4146 invités
>14 membres
>7 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)