60 lines
2.5 KiB
Markdown
60 lines
2.5 KiB
Markdown
# Jeu de Placement et de Blocage (Grille Dynamique)
|
||
|
||
## **Description du projet**
|
||
Ce programme est un jeu stratégique basé sur une grille dynamique où deux joueurs (ou un joueur contre une IA) placent des pions et des croix pour bloquer leur adversaire.
|
||
Il intègre une interface graphique interactive, des règles simples, et une logique modulaire pour faciliter l'extension et l'amélioration.
|
||
|
||
---
|
||
|
||
## **Fonctionnalités principales**
|
||
- **Menu graphique interactif** :
|
||
- Sélection de la taille de la grille (3x3 à 9x9).
|
||
- Choix entre deux modes de jeu : 1 joueur contre IA ou 2 joueurs.
|
||
- Bouton "Confirmer" pour valider les choix et démarrer la partie.
|
||
|
||
- **Affichage dynamique de la grille** :
|
||
- La grille est centrée automatiquement et s’adapte à la taille choisie.
|
||
- Les cellules sont bien délimitées et interactives.
|
||
|
||
- **Modes de jeu** :
|
||
- **Mode 2 joueurs** : Deux joueurs humains jouent à tour de rôle.
|
||
- **Mode 1 joueur** : Le joueur affronte une IA avec des placements stratégiques.
|
||
|
||
- **Conditions de fin** :
|
||
- Un joueur est bloqué : l’autre gagne.
|
||
- La grille est pleine : le joueur ayant placé le dernier pion gagne.
|
||
|
||
- **Menu de fin** :
|
||
- Affiche le gagnant avec un message coloré.
|
||
- Boutons "Quitter" pour fermer le programme et "Rejouer" pour recommencer une partie.
|
||
|
||
---
|
||
|
||
## **Structure du projet**
|
||
Le code est organisé en plusieurs fichiers pour assurer modularité et lisibilité :
|
||
- **`main.c`** : Point d’entrée du programme. Initialise les ressources et orchestre les appels aux fonctions principales.
|
||
- **`graphique.c`** :
|
||
- Gestion de l’interface graphique (menus, affichage de la grille, pions et croix).
|
||
- **`jeu.c`** :
|
||
- Logique du jeu : alternance des tours, placement des pions et croix, gestion des conditions de fin.
|
||
- **`utilitaires.c`** :
|
||
- Fonctions génériques (vérification des déplacements, détection de blocage, etc.).
|
||
|
||
---
|
||
|
||
## **Dépendances**
|
||
Le programme utilise la bibliothèque graphique **`graph.h`**. Assurez-vous qu’elle est installée avant de compiler.
|
||
|
||
### **Prérequis :**
|
||
1. Un environnement Linux ou compatible avec **`graph.h`**.
|
||
2. Un compilateur C (comme `gcc`).
|
||
3. Assurez vous d'avoir tout les fichiers .c et .h et Makefile et tout image .png dans un seul et même dossier
|
||
|
||
---
|
||
|
||
## **Compilation et exécution**
|
||
1. **Compiler le programme :**
|
||
make run
|
||
ou si vous ne souhaitez pas utiliser le Makefile même s'il est la pour simplifier :
|
||
gcc main.c graphique.c jeu.c utilitaires.c -o jeu -lgraph ; ./jeu
|