Projet Jeu Scrabble en C
Création d'une version console du Scrabble® en respectant les règles officielles, avec gestion des joueurs (2 à 4), calcul dynamique des scores, et validation des mots en langage C.
Admin
1/1/20242 min read

Dans le cadre de mon Bachelor en informatique à l’ECE Paris (2023-2024)
📌 Objectif
Créer une version console du Scrabble® en respectant les règles officielles, avec gestion des joueurs (2 à 4), calcul dynamique des scores, et validation des mots. Mon rôle : conception de l’algorithme de placement des mots et gestion des interactions utilisateur.
⚙️ Réalisation technique
Structures de données :
Plateau de jeu en tableau 2D (15x15) avec cases spéciales (#, @, §, etc.).
Structs pour les joueurs (pseudo, score, chevalet).
Pioche générée aléatoirement (102 jetons avec valeurs et occurrences conformes aux règles).
Fonctionnalités clés :
Placement des mots avec vérification des contraintes (case centrale, connexion aux mots existants).
Calcul des scores incluant les multiplicateurs de cases (&, %, @).
Menu interactif (nouvelle partie, scores, aide).
Système de sauvegarde/chargement de partie (bonus implémenté).
Outils : Code::Blocks, Doxygen pour la génération de graphes d’appel, Git pour le versionnement.
🚀 Défis relevés
Validation en temps réel : Implémentation d’un algorithme pour vérifier que les mots s’appuient sur les lettres existantes (logique de mots croisés).
UI/UX en console : Utilisation de gotoligeol pour déplacer le curseur et color pour les cases spéciales (ex : § en rouge).
Gestion des conflits : Résolution des problèmes de synchronisation entre joueurs lors des tours (ex : gestion des ex æquo avec tri alphabétique).
💡 Bonus implémentés
IA adversaire : Développement d’un bot capable de former des mots de 3 à 7 lettres à partir de son chevalet (algorithme de recherche dans un dictionnaire trié).
Dictionnaire intégré : Téléchargement et parsing d’un fichier texte de 300k mots français pour la validation automatique (librairie curl utilisée pour le scraping initial).
Chronomètre : Limitation du temps de réflexion à 2 minutes par tour (fonction clock() de la bibliothèque time.h).
📈 Compétences mobilisées
Programmation C : Manipulation de pointeurs, structs, fichiers.
Algorithmie : Recherche optimisée dans des structures de données complexes.
Travail d’équipe : Répartition des tâches avec 2 coéquipiers (GitHub pour le merge des branches).
Rigueur : Respect strict des règles du Scrabble® et tests unitaires




Localisation
ECE Paris, 37 Quai de Grenelle 75015, Paris FR
Contact
gt.martin.pro@gmail.com
martin.tendero@edu.ece.fr

