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.