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 :
- Proposer aux utilisateurs de choisir, au lancement du programme, la taille de la grille (nombre de lignes et de colonnes) et le nombre de pions à aligner pour gagner. Les paramètres sont stockés dans un dictionnaire (qui peut être une variable globale).
- Donner à chaque joueur un certain nombre de jokers leur permettant de supprimer une ligne ou une colonne de la grille.
- Proposer un mode contre une intelligence artificielle dont vous définirez le comportement (vous pouvez même proposer plusieurs niveaux de difficulté).