Algorithme Puissance 4

Fermé
tibo02 - 13 mai 2009 à 17:14
 tibo02 - 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
A voir également:

9 réponses

Utilisateur anonyme
13 mai 2009 à 17:20
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
3
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
15 mai 2009 à 13:58
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...
1
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
13 mai 2009 à 17:27
Tien va voir ici, si sa peu t'aider:
http://lwh.free.fr/pages/plan.htm

Bilou.
0
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
16 mai 2009 à 14:01
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.
0
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
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
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
0
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 --'
0
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
0
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 ^^
0