Jeu de Nim : Logique et Algorithmique

Langage CAlgorithmiqueIA Minimax

Un projet classique de BUT 1ère année pour maîtriser les fondements de la programmation C, qui a ensuite servi de base à une version personnelle largement améliorée.


Objectif Initial (Projet SAÉ)

Ce projet était un des premiers modules d'algorithmique de la formation. L'objectif était de développer une version fonctionnelle du Jeu de Nim en console, avec une validation rigoureuse des entrées.

Évolution : La Version Avancée

Motivé par le désir d'aller plus loin, j'ai développé une version "avancée" pour pratiquer la structuration modulaire et offrir une expérience configurable.

Comparatif des Fonctionnalités

Fonctionnalité Version de Base (SAÉ) Version Avancée
Modes de jeu 1 seul (Robot Naïf vs Intelligent) 6 modes (HvsH, HvsIA, IAvsIA)
Nombre de bâtons Fixe (ex: 16) Choisi par l’utilisateur
Règle de victoire Fixe Choix : le dernier gagne ou perd
Robustesse Minimale Très élevée (anti-plantage)
Structure Monolithique Modulaire (fonctions distinctes)

Apprentissages Clés

  • Programmation défensive : Validation avancée des entrées (protection contre lettres, buffer overflow).
  • Modularité : Découpage en fonctions (deroulementPartie, parametragePartie).
  • Pointeurs : Manipulation des chaînes de caractères pour les noms de joueurs.
Jouer à la version Web