Retour aux projets Projets / Memoryx
SAE 1.02 · BUT 1ère année 2023 – 2024 Université de Lorraine

Memoryx
Jeu de Memory en C avec bot IA

Développement d'un jeu de Memory en C supportant jusqu'à 4 joueurs humains et un bot capable d'analyser le tableau caché. Projet collaboratif mêlant algorithmique, structures de données et intelligence artificielle basique.

4
Joueurs max
1
Bot IA
C
Langage
👥
Collaboratif
terminal — ./memoryx
Bravo ! Vous avez trouvé une paire et gagné un point.
paire restante : 6

Score :
titouan : 1 pts, 4 échecs restants

titouan, c'est à vous !
X      X      X      X      X
-       -       X      X      X
Choisissez la première carte :
Ligne : 1   Colonne : █
Partie en cours — Tour du joueur titouan

C'est quoi Memoryx ?

Memoryx est un jeu de Memory en ligne de commande développé en C dans le cadre de la SAE 1.02. Le jeu propose un tableau de cartes cachées que les joueurs doivent retourner deux par deux pour trouver les paires identiques.

Le défi principal était de programmer un bot capable d'analyser le tableau caché et de jouer intelligemment contre un maximum de quatre participants humains. Le bot mémorise les cartes déjà retournées pour optimiser ses choix — une implémentation d'IA basique mais fonctionnelle.

Réalisé en collaboration avec mon équipe, ce projet m'a permis d'acquérir des compétences en travail collectif, en gestion du code partagé et en résolution de problèmes complexes. Grâce à des ressources en ligne et un investissement soutenu, nous avons surmonté les défis rencontrés.

ContexteSAE 1.02 — BUT Informatique
LangageC (compilé gcc)
Joueurs1 à 4 humains + 1 bot
ModeCollaboratif en équipe
Année1ère année BUT · 2023–2024

Le jeu en action

Memoryx en cours de partie
🔍 Cliquer pour agrandir
Paire trouvée
Le système confirme en vert quand une paire est trouvée et met à jour le score en temps réel
Score multi-joueurs
Affichage du score de chaque joueur avec le nombre de points et d'échecs restants
Tableau caché
Le tableau affiche X pour les cartes cachées, - pour les paires trouvées et le numéro pour les cartes retournées temporairement
Saisie en ligne/colonne
L'utilisateur choisit ses cartes par coordonnées — interface simple adaptée à la contrainte CLI

Ce qui était complexe à implémenter

🤖

Le bot IA

Programmer un bot qui mémorise les cartes déjà vues et les utilise stratégiquement. Le bot doit simuler la "mémoire" d'un joueur humain en stockant dans un tableau les positions et valeurs des cartes retournées précédemment.

TableauxAlgorithme mémoireStratégie
📐

Tableau de dimensions variables

Le jeu offre la flexibilité de choisir différentes configurations de tableau. Implémenter une grille de taille variable en C nécessite une gestion dynamique de la mémoire avec malloc et des pointeurs de pointeurs.

malloc / freePointeursMémoire dynamique
👥

Gestion multi-joueurs

Gérer les tours de 1 à 4 joueurs humains en plus du bot, maintenir les scores individuels et afficher les informations de chaque joueur de façon claire en ligne de commande.

Structures CBouclesGestion d'état
🤝

Travail collaboratif

Coordonner le travail en équipe sur un même projet C — répartition des tâches, cohérence du code, résolution des conflits. Première expérience de développement collectif structuré.

Travail en équipeGitCommunication

Stack utilisée

⚡
Langage C
Programmation
🔧
gcc
Compilateur
🖥️
CLI
Interface
🐧
Linux
Environnement
🧠
Algo IA
Bot
📦
malloc/free
Mémoire