Othello
Jeu de plateau Othello fonctionnant dans le terminal avec mode IA.
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.

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.

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.

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.

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.
