Case Study

Othello

Jeu de plateau Othello fonctionnant dans le terminal avec mode IA.

Java

01 — Les bases algorithmiques

Ce projet universitaire (2023) fait partie de mes toutes premières réalisations en Java (Standard Edition). Conçu par une petite équipe de 2 personnes, l’objectif était d’allier la maîtrise de la syntaxe objet à des défis algorithmiques complexes en développant un jeu de société entièrement jouable en console.

Le menu principal, construit en pur texte (CLI), permet de choisir le mode de jeu, illustrant une gestion rigoureuse des entrées utilisateur (Scanner) et des boucles de jeu.

Illustration du projet
Menu principal du jeu exécuté dans l'invite de commandes

02 — La mécanique du jeu (1 vs 1)

Le problème des règles Implémenter le jeu d’Othello nécessite de transposer des règles spatiales en algorithmes. Le jeu demande de vérifier, à chaque coup, dans les 8 directions (horizontales, verticales, diagonales), si les pions adverses sont “pris en sandwich” pour être retournés.

Le développement Le plateau est modélisé par un tableau à deux dimensions. Lorsqu’un joueur entre des coordonnées (ex: A2), le programme calcule mathématiquement la validité du mouvement et applique le retournement des pions.

Illustration du projet
L'affichage du plateau de jeu Othello avec ses coordonnées

03 — L'intelligence artificielle

Une fois les règles du mode multijoueur local maîtrisées, le défi suivant consistait à programmer un “bot”.

L’IA intégrée propose plusieurs niveaux de difficulté. Elle analyse le plateau actuel pour évaluer le coup mathématiquement le plus avantageux à court ou moyen terme, en pesant le nombre de pions potentiellement retournés par chaque mouvement possible.

Illustration du projet
Début d'une partie Joueur contre Ordinateur

04 — Le déroulement d'une partie

Plus la grille se remplit, plus l’état du jeu devient complexe et démontre la solidité de l’implémentation.

Le calcul des points s’effectue dynamiquement à chaque tour. À l’issue des 64 tours (ou lors du blocage mutuel des joueurs), le programme totalise les pions blancs et noirs.

Othello - Fin de partie et score

L’écran de fin de partie annonce le vainqueur et gère le redémarrage propre de la boucle de jeu, clôturant ainsi l’expérience logicielle.

Illustration du projet
Une grille fortement remplie, obligeant l'algorithme à calculer de multiples chaînes de retournement