CommentCaMarche
Recherche
Posez votre question Signaler

Algorithme Puissance 4

tibo02 - Dernière réponse le 16 mai 2009 à 16:40
Bonjour,
Je dois effectuer dans le cadre d'un projet pour ma 1ère année en école d'ingénieur un Puissance4.
Je dois donc créer un programme a partir d'un algorithme en pascal. Je ne sais pas du tout par ou commencer. Pouvez vous s'il vous plait m'orienter...?
merci beaucoup
Lire la suite 
Réponse
+3
moins plus
salut, j'ai fait la même chose en sup pour le TIPE, pour faire ça, commence par te renseigner sur ce qu'est l'algorithme min-max, c'est celui qui est le plus couramment utilisé pour ce que tu as à faire.
Ensuite, je te conseille de commencer par programmer un jeu de morpion, plus simple à mettre en place, et tu pourras ensuite très simplement passer au puissance 4.
Je ne sais pas si c'est la bonne méthode mais, contre l'avis de mes profs, j'avais commencé par faire une interface graphique qui m'a offert un support pour travailler et qui en plus me permettait de tester le jeu au fil de sa progression.

PS: je programme en caml-light
Ajouter un commentaire
Réponse
+1
moins plus
Pour l'avoir déjà fait (et en Pascal je crois)

Je ne commencerais pas par le vif du sujet en premier...

Commence d'abord à faire la structure du jeu :
une unité qui fournit ton tableau et les méthodes pour le manipuler (ajouter une pièce...)
une unité qui manipule l'affichage graphique (uses Graph;) ou la console (uses Crt)
une unité "juge-arbitre" qui repère quand quelqu'un a gagné

Et une fois ta structure bien en place, il te restera plus que 2 unités à faire...
une unité "joueur-humain"
une unité "joueur-ordinateur" (la partie la plus algorithmique de ton projet)

Bien sûr il te restera ton programme principal à faire, mais ce sera pas le plus dur...
Ajouter un commentaire
Réponse
+0
moins plus
Tien va voir ici, si sa peu t'aider:
http://lwh.free.fr/pages/plan.htm

Bilou.
Ajouter un commentaire
Réponse
+0
moins plus
c'est une version puissance 4 2 joueurs ... donc je n'ai pas la partie oridinateur a faire. Je fois effectuer ça en Pascal ... quelqu'un pourrais t'il m'aider au moins pour la procédure vérification de 4 jetons allignés ?
merci
Ajouter un commentaire
Réponse
+0
moins plus
salut, tu n'as donc pas la partie la plus complexe à faire. Pour la vérification de 4 jetons alignés, ce n'est peut-être pas la meilleure méthode mais j'avais simplement dressé un tableau avec toutes les combinaisons gagnantes, si tu fais le compte, il y en a exactement 69.
Pour cela, j'ai réalisé un petit algorithme que tu devrais pouvoir trouver en y réfléchissant un tant soit peu.
Si vraiment ça te pose problème, dis le moi mais il n'y a pas de raison.

Par contre, une fois de plus, ne cherche pas à aller trop vite en besogne, la fonction qui vérifie si 4 jetons sont alignés, et donc s'il y a un gagnant, est pour ainsi dire la dernière à réaliser.
Ajouter un commentaire
Réponse
+0
moins plus
ah oui pas bète de faire toutes les solutions possible :D merci bcp
je vais essayé autrement mais si je n'y arrive pas ça devrai pas être trop compliquer a faire par cette méthode!

pour le moment j'ai fait la procédure qui fait descendre un pion tant que la case du dessous est vide :
Procédure emplacementLibre;
Ecrire ("entrez le num de la somme pour insérer un pion");
Lire (a);
i<---a
j<---1
Tantque (tab[i,j]=0 Faire {
Si (tab[i,j]>0 et tab [i,J+1]<0) alors {
tab[i][j] = "X"
Sinon {
j<---j+1
}
}
}
Je me doute qu'elle n'est pas parfaite qu'il faut que je déclare des variables en + et tout et tout ... mais j'espère que le principe est bon:P
Sinon je galère aussi pour créer mon tableau de 6 lignes et 7 colonnes ... :s
KX 11269Messages postés samedi 31 mai 2008Date d'inscription ContributeurStatut 25 mars 2015Dernière intervention - 16 mai 2009 à 15:29
"Je me doute qu'elle n'est pas parfaite" C'est surtout pas du Pascal !
Pour ton tableau 6 lignes 7 colonnes : array[1..6,1..7] of byte; avec byte =0 (vide) 1 (jaune) ou 2 (rouge) par exemple
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Procédure emplacementLibre;
Ecrire ("entrez le num de la colonne pour insérer un pion");
Lire (a);
i<---a
j<---1
Tantque (tab[i,j]=0 Faire {
Si (tab[i,j]>0 et tab [i,J+1]<0) alors {
tab[i][j] = "X"
Sinon {
j<---j+1
}
}
}

colonne et pas somme --'
Ajouter un commentaire
Réponse
+0
moins plus
merci pour le tableau je vais voir si ça peut m'aider :)
Par contre ce n'est peut être pas du pascal mais c'est comme ça que je doit le faire ... ça doit être du pascal simplifié en français ou un truc du genre XD

merci bcp
Ajouter un commentaire
Réponse
+0
moins plus
Apparament ils appellent ce langage du pseudo-code ... mais bon je suis capable de traduire de Pascal au pseudo-code donc pas de problème si vous préférez le Pascal ^^
Ajouter un commentaire
Ce document intitulé «  Algorithme Puissance 4  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.