Files
EmmanuelTiamzon 2a4b74f54e update
2025-12-05 10:36:05 +01:00
..
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00
2025-12-05 10:36:05 +01:00

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 sadapte à 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é : lautre 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 dentrée du programme. Initialise les ressources et orchestre les appels aux fonctions principales.
  • graphique.c :
    • Gestion de linterface 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 quelle 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