Vous êtes sur la page 1sur 1

Université Moulay Ismaïl 2018-2019

ENSAM – Meknès 2ième Année

TP 5 – Connect Four Game


L’objectif de ce TP est d’implémenter en langage C le jeu Connect Four.
Connect Four is a two-player connection game in which the players first choose a
color (generally red and yellow) and then take turns dropping one colored disc from
the top into a seven-column, six-row vertically suspended grid. The pieces fall
straight down, occupying the lowest available space within the column.
The objective of the game is to be the first to form a horizontal, vertical, or diagonal
line of four of one's own discs. The first player can always win by playing the right
moves.
Dans cet exercice, on suppose que :
• La grille est de taille (n lignes, m colonnes).
• La taille de la grille est définie au début du jeu. Par défaut n=6, m=7.
• Une fois la taille est définie, chaque joueur dispose de (n*m/2) disques.
• La couleur rouge est représentée par X, la couleur jaune par O.
• Une case vide de la grille est représentée par le caractère espace (le blanc).
Pour implémenter le jeu, on propose les définitions de types et fonctions suivantes. Une partie de ces
fonctions est déjà implémentée dans le fichier : Connect_Four_Game.c
• Le type palyer représentant un joueur : num (1 ou 2), name, color (X ou O), discs (nombre de
disques à la disposition du joueur)
• Le type board représentant la grille du jeu : grid (matrice de char), n nombre de lignes, m nombre de
colonnes.
• La fonction welcome pour afficher une description du jeu au départ. (Déjà programmée)
• La fonction init_borad pour réserver la grille et l’initialiser. (Déjà programmée)
• La fonction free board pour libérer l’espace mémoire de la grille. (Déjà programmée)
• La fonction display_game pour afficher la grille après chaque coup. (Déjà programmée)
• La fonction full_col pour vérifier si une colonne est pleine ou non.
• Les fonction four_line, four_col, four_diag1 et four_diag2 pour vérifier 4 disques de même couleur
sont sur la ligne, la colonne, la diagonale ou l’anti-diagonale à partir d’une position i , j donnée.
• La fonction check_four appelle les 4 fonctions précédentes pour si à une position i, j donnée de la
grille, 4 disques de même couleur sont alignés.
• La fonction play_turn pour qu’un joueur joue son tour.
• …

Travail demandé :
Compléter les fonctions qui manquent et la fonction principale main du fichier
Connect_Four_Game.c J
N.B. Les fonctions proposées précédemment sont données à titre indicatif. Vous êtes libre de
modifier et d’ajouter ce qui vous semble utile ou nécessaire.

Happy Coding

E. Zemmouri – ENSAM Meknès