← Tous les projets

Jeux

Othello

Réécriture d'un jeu de mes études : moteur en C (règles, IA minimax alpha-bêta), jouable dans le navigateur en WebAssembly.

Terminé Sprint S17-S18 · 8 points
En bref, sans jargon pour les non-informaticiensLire le résuméRefermer
Ce que c'est
Le jeu d'Othello contre l'ordinateur, jouable dans la page.
À quoi ça sert
Un jeu de mes études, réécrit de zéro avec les méthodes d'un projet professionnel : tests automatiques, versions pour plusieurs systèmes.
Ce que ça montre
Un adversaire artificiel qui anticipe plusieurs coups à l'avance, et un programme rapide dont chaque règle est vérifiée.
Code source

Comment les morceaux tiennent ensemble

Schéma : Perft → Moteur (vérifie les règles) ; IA → Moteur ; Moteur → WebAssembly (compilés par Emscripten) ; WebAssembly → Fiche du site (partie, annulation). vérifie les règles compilés par Emscripten partie, annulation Moteur C, deux bitboards Perft nombres de référence IA negamax alpha-bêta WebAssembly Emscripten, 4,5 Ko Fiche du site souris, toucher, clavier

Jouer contre l'IA

Le moteur et l'IA en C du projet, compilés en WebAssembly (4,5 Ko), tournent dans votre navigateur. Les points marquent les coups possibles.

Je joue

Chargement du moteur…

Au clavier : les flèches déplacent la case active, Entrée ou Espace joue. Le niveau et la couleur s'appliquent à la prochaine partie.

Technologies

  • C
  • CMake
  • Emscripten
  • Unity

Qui fait quoi

C
Le moteur (plateau en deux entiers de 64 bits, coups calculés par décalages de bits) et l'IA alpha-bêta.
CMake
Compilation et tests sous GCC, MSVC et Clang, avertissements en erreurs, avec ASan et UBSan.
Emscripten
Compile le moteur et l'IA en WebAssembly : on joue contre l'IA sur la fiche.
Unity
Les tests du plateau (perft jusqu'à 8 coups, comparé aux valeurs publiées) et de l'IA.

Definition of Done

  • Code relu, diff par diff
  • Tests unitaires et d'intégration verts
  • CI verte sur Linux, Windows et macOS si compilé
  • README, REVIEW.md et DECISIONS.md à jour
  • Textes en français et en anglais
  • Démo déployée et testée sur mobile