Jeux puissance 4 au niveau de la logique?
Bonjour à tou, m'ayant bien aidé a débuter ma formation, je voulais encore vous demander votre aide sur la création d'un jeu puissance 4 en php sans utiliser Mysql.
Je ne sais pas du tout par quoi commencer! Je pensait déjà rechercher toutes les règles et voir de quoi le jeu est composé, je suppose que c'est le minimum:
Le but du jeu est d'aligner 4 pions sur une grille comptant 6 rangées et 7 colonnes. Chaque joueur dispose de 21 pions d'une couleur (par convention, en général jaune ou rouge). Tour à tour les deux joueurs placent un pion dans la colonne de leur choix, le pion coulisse alors jusqu'à la position la plus basse possible dans ladite colonne suite à quoi c'est à l'adversaire de jouer. Le vainqueur est le joueur qui réalise le premier un alignement (horizontal, vertical ou diagonal) d'au moins quatre pions de sa couleur. Si alors que toutes les cases de la grille de jeu sont remplies aucun des deux joueurs n'a réalisé un tel alignement, la partie est déclarée nulle.
voila si vous savez encore me guider sur ce à quoi je dois réfléchir ensuite
Je vous remercie d'avance
Réponses apportées à cette discussion
Salut Ouinouin,
c'est typiquement le type même de problème sympa à programmer.
La difficulté quand on débute, c'est qu'on ne sait pas trop par quel bout prendre le problème. C'est un classique tout simplement parce que le cerveau humain est beaucoup trop rapide et que les étapes du raisonnement se passent tellement vite qu'on ne les voit pas consciemment. Je vais donc te suggérer de tenter de ralentir le rythme cérébral pour isoler ces étapes.
Tu as correctement posé les besoins fonctionnels. Ce qui manquerait est d'ordre plus technique. Considérant qu'on est dans un forum PHP, je pars du principe qu'on crée une application web. Nous savons qu'il n'y a pas de base de données, mais nous ignorons à ce stade à quelles technologies nous sommes ou non limités. Si je soulève ce point, c'est parce que ce genre de jeu serait tout à fait le genre qu'il conviendrait de développer en JavaScript. Mais j'ai dans l'idée que tu es sur une formation PHP pur et donc, tu dois développer en PHP/HTML et à peu près rien d'autre. Un autre point manquant est le suivant : le joueur joue-t-il contre un autre joueur ou contre la machine ? Là aussi, j'imagine qu'il joue contre la machine parce que jouer contre un autre joueur implique des développements plus complexes incluant notamment du JavaScript et la méthode Ajax : quelque chose me dit que je commence à te paumer un peu, on va en rester là sur ce point et revenir à un niveau accessible.
Si j'ai raison à ce stade, ça veut dire que sur le plan technique, le joueur choisit une colonne ou mettre son jeton et il valide, la page se recharge avec l'information qu'il a envoyée et, à priori, la réponse de la machine s'il ne joue pas contre un autre joueur.
Ça veut dire aussi que la partie visuelle est à peu près définie et que seule la partie programmation est à l'ordre du jour.
Premier point majeur à prendre en considération. Sur le précédent problème, tu m'as indiqué que tu n'avais pas abordé les tableaux de données en PHP : tiens-toi bien à tes bretelles, parce que sans tableaux, construire un jeu de Puissance4 en PHP n'aura rien d'une partie de plaisir, ça va être très compliqué. Il va falloir impérativement te mettre aux tableaux. Mais tu ne partiras pas de rien. Il y a quelques années, j'ai publié un tuto sur le sujet. Je t'invite à le lire avec la plus grande attention, tu vas en avoir grand besoin.
Salut, merci de ta réponse. En effet, le gros problèmes et que je ne sais déjà pas par quel bout prendre le problème, donc je ne parle même pas de la programmation pure.
En effet, c'est un jeu prévu pour le web en PHP/HTML sans base de données, mais en effet je peux me servir des tableaux (j'avais pas tout compris au cours, mais ton tuto et vraiment nikel et compréhensible même par moi ;o) )
Le joueur joue bien contre l'ordinateur, la partie visuelle est aussi a faire.
Si je reprends tout je crois que ca donne ca :
Programmation en php/html pour le web, utilisation des tableau, mais pas de base mysql.
1 joueur contre l'ordi (peut-être après une version 2 joueurs)
Règles:
Nb de joueurs : 2
Chaque joueur dispose de pions de couleurs :
Joueur 1 : jaune
Joueur 2 : rouge
Pour gagner la partie il faut aligner 4 pions de sa couleur sur une grille de 6 rangées et 7 colonnes. jeux
Pour cela, à tour de rôle, chaque joueur va placer son pion dans la colonne de son choix, le pion va ainsi être placé à la position la plus basse dans ladite colonne. Le joueur vainqueur est celui qui réalise le premier un alignement d’au moins 4 pions de sa couleur que ce soit horizontalement, verticalement ou à l'oblique.
Si alors que toutes les cases de la grille de jeu sont remplies aucun des deux joueurs n’a réalisé un tel alignement, la partie est déclarée nulle.
Maintenant le tout est de savoir par quel bout commencer et trouver un cheminement
Hello,
Je t'invite aussi à te renseigner sur l'algorithmique "Minimax" qui te permet de solutionner ce genre de problématique (alignement de pion dans toutes les directions).
Ah merci je vais essayer de me renseigner de suite, ca pourrait m'aider. Merci du tuyau