Ethan Puyaubreau dfa3eaba26 Corrige la barre bleue qui traversait certaines pages du rapport
Cause : le moteur Story de PyMuPDF repeint les fills `background` CSS aux
mêmes coordonnées sur toutes les pages suivantes. L'en-tête navy de la table
Q3 (et les fonds des notes/blocs de code) bavaient ainsi sur les pages 5 à 9.

Fix : style sans aucun `background`, hiérarchie rendue par bordures + couleur
de texte (en-tête de table souligné, note à filet gauche, bloc de code encadré).
Vérifié : 0 fill répété sur >=3 pages ; rendu plus sobre, chiffres inchangés.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 20:46:01 +02:00

Escampe — Joueur IA (Puyaubreau / Russac)

Joueur artificiel pour le jeu Escampe, devoir « IA et contraintes » (Polytech Paris-Saclay, APP5, 2025-2026). Le joueur dialogue avec l'arbitre du tournoi via une interface réseau et choisit ses coups par recherche **alpha-bêta

  • approfondissement itératif**.

Démarrage rapide

bash build.sh                 # compile, produit le jar, mainClass, l'archive et le rapport PDF

Tout est produit dans dist/. Pour jouer ou tester :

# Une partie arbitrée : notre IA contre le joueur aléatoire fourni
bash scripts/match.sh

# Sous Windows, en local (double-clic) :
jouer-vs-IA.bat        # vous (humain) contre notre IA
jouer-vs-pote.bat      # deux humains

Le serveur de jeu et les joueurs de référence sont dans lib/escampeobf.jar (fourni avec le sujet). Voir MULTIJOUEUR.md pour le jeu à distance.

Structure

Chemin Rôle
src/escampe/ Sources Java (paquetage escampe)
src/escampe/JoueurPuyaubreauRussac.java Le joueur (interface IJoueur)
src/escampe/Moteur.java Recherche alpha-bêta + heuristique
src/escampe/EscampeBoard.java Modèle de jeu (interface Partie1)
src/escampe/{VerifMoves,RulesTest,Bench,Branching}.java Utilitaires de test (hors jar de production)
report/rapport.html · tools/make_report_pdf.py Source du rapport et générateur PDF
RAPPORT.md Rapport (version Markdown)
build.sh Build reproductible
lib/escampeobf.jar Serveur d'arbitre + joueurs de référence (fournis)
dist/ Livrables buildés (jar, mainClass, archive, rapport PDF)

Livrables de la version finale (dans dist/)

  • Puyaubreau_Russac.jar — jar exécutable (point d'entrée escampe.ClientJeu)
  • mainClass — descripteur du tournoi (jar / clientClass / mainClass)
  • Puyaubreau_Russac.tgz — archive de rendu (src/ + mainClass + jar)
  • Puyaubreau_Russac_rapport.pdf — rapport

Tests

javac -d out src/escampe/*.java
java -cp out escampe.VerifMoves     # chemin de recherche ≡ règles vérifiées (0 divergence)
java -cp out escampe.RulesTest      # tests de règles (21/21)
java -cp out escampe.Bench 3000 8   # profondeur / vitesse du moteur
java -cp out escampe.Branching      # facteur de branchement
Description
Joueur IA Escampe (Puyaubreau/Russac) - Polytech APP5 IA & contraintes
Readme 1.7 MiB
Languages
Java 75.2%
HTML 16.5%
Shell 3.7%
Python 3.1%
Batchfile 1.5%