(Retour à la liste)

M-4. Puissance 4


Puissance 4 (appelé aussi 4 en ligne) est un jeu de stratégie. Le but 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, 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 la dite colonne à la suite de 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.

Source : Wikipédia

Cahier des charges

Votre programme permet à deux joueurs humains de s'affronter. Les deux joueurs jouent à tour de rôle sur une grille de largeur NB_COLS = 7 et de hauteur NB_LIGS = 6 (les dimensions sont définies par les constantes NB_COLS et NB_LIGS qui peuvent être modifiées).

Votre programme stocke la grille dans un tableau de lignes, chaque ligne étant elle-même un tableau caractères représentant les pions de chaque case. Un caractère point ('.') représente une case vide, un caractère 'O' représente un pion jaune et un caractère 'X' représente un pion rouge.

Quand un joueur a réussi à aligner 4 pions en ligne, colonne ou diagonale, le programme affiche le joueur gagnant. Si la grille est remplie sans qu'aucun des deux joueurs n'ait réussi à aligner 4 pions, le programme affiche un message indiquant que la partie est nulle.

Aucun exemple d'interface n'est donné car la réalisation d'une interface adaptée fait partie des objectifs du projet. Voici cependant un exemple de représentation graphique possible de l'état de la grille dans la console :

|1 2 3 4 5 6 7|
|. . . . . . .|
|. . . . . . .|
|. O X . . . .|
|. X O O . X .|
|O X X O O X O|
|X X X O X O O|
|1 2 3 4 5 6 7|          

Pour aller plus loin (palier 4)

Une fois que vous avez atteint le palier 3 des fonctionnalités, voici quelques idées pour aller plus loin et atteindre le palier 4 :