Puissance 4 [Résolu/Fermé]

Signaler
Messages postés
2
Date d'inscription
mercredi 25 mars 2015
Statut
Membre
Dernière intervention
9 mai 2015
-
Messages postés
6
Date d'inscription
mardi 31 mars 2015
Statut
Membre
Dernière intervention
11 avril 2015
-
bonjour,
je suis en prépa intégré en 1e année, et j'ai choisi avec un binome un sujet de TIPE sur le jeu puissance 4. Notre prof nous a donc demande de réfléchir aux différentes étapes du jeu, à chaque tour. Nous devons donc créer une IA capable de réfléchir et non pas de jouer au hasard (bloquer 3 jetons alignés ou essayer "d'attaquer",...). Le prof nous a alors conseille d'utiliser une matrice.
Nous sommes censés donner un algorithme ou un script d'une fonction de détection par l'IA lorsque 3 jetons du vrai joueur sont alignés, afin d'empecher le joueur de gagner. Cependant je ne comprends pas comment faire pour détecter ce cas.
Merci de votre aide.

1 réponse

Messages postés
6
Date d'inscription
mardi 31 mars 2015
Statut
Membre
Dernière intervention
11 avril 2015

Salut,

Tu devrais faire la meme chose que pour ton algorithme qui verifie si une personne a gagner ou pas sauf que la tu renvoi les position possible.

0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 1 1 1 0 0 0
0 2 1 2 1 0 0 0
0 : sans pion
1 : tes pions
2 : les pions de l'IA

Ta fonction dois renvoyer 2 et 6
Tu devras aussi verifier si les pion peuvent "bloquer" l'alignement des 4 pions, en regardant si il y a un pion en dessous, dans ce cas la, la colonne 6 ne bloquera pas. Donc tu places le pion dans la 2nd colonne

Apres pour ce qui est de la puissance 4 en diagonale, c'est un peu plus complique, donc je te laisse chercher :p
Merci pour votre aide.
On va essayer de faire en sorte de regarder les 8 (7) cases autour de la derniere position jouee. Si l'une des cases appartient aussi au joueur, l'ordi cherchera dans cette meme direction si d'autres pions sont alignes.
Pour la matrice utilisee comme grille, il suffit de creer un tableau de 6 listes de hauteur et 7 de longueur?
Merci.
Messages postés
6
Date d'inscription
mardi 31 mars 2015
Statut
Membre
Dernière intervention
11 avril 2015

En C c'est facile de creer un tableau a 2 dimension : int tableau[6][7];
mais en python je sais pas vraiment..
Il vaut mieux crée 1tableau a 2 dimension plutot que 6 tableau a 1 dimension.

J'ai finalement trouve ce code en python, a toi de l'adapter ;)

Tableau = [[0 for x in range(5)] for x in range(5)]
Tableau[0][0] = 1
Tableau[1][3] = 4
Tableau[4][0] = 5

Ce qui donnera
1 0 0 0 0
0 0 0 4 0
0 0 0 0 0
0 0 0 0 0
5 0 0 0 0
Messages postés
6
Date d'inscription
mardi 31 mars 2015
Statut
Membre
Dernière intervention
11 avril 2015

>>> import numpy
>>> numpy.zeros((5, 5))
array([[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.]])