diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..ebff8f5 --- /dev/null +++ b/README.md @@ -0,0 +1,94 @@ + +Juge automatique pour IA pour jeu générique... +============================================== + +Les joueurs sont des programmes qui lisent des infos sur le jeu sur l'entrée +standard et jouent leur coups sur la sortie standard. + + +Organisation des fichiers +------------------------- + +juge/ + *.ml le code du juge + protocol.ml encodeur et décodeur pour le protocole décrit plus bas + core.ml la partie principale + main.ml la synchro + gui.ml l'interface de visualisation + morpionrec.ml la partie spécifique à un jeu +morpionrec/ + joueur_1/ + player le binaire/code du joueur + * fichiers de données perso + (le binaire est lancé dans le dossier du joueur) + joueur_2/ + player + * + 201411202011.log log de chaque séance + 201411202011.score enregistrement des scores de chaque séance + + +Protocole d'entrée-sortie +------------------------- + +Le juge et le joueur s'envoient des messages +terminés par un retour à la ligne. + +J : Juge, P : joueur + +1. Le juge et le joueur se disent bonjour: + + J Hello morpion-rec + P Hello morpion-rec + + Le joueur doit charger ses données *avant* de répondre, car dès qu'il a + répondu on peut lui demnander de jouer et décompter son temps. + +2. Lorsque c'est au joueur de jouer: + + J Your turn secondes_pour_jouer + P Play des_infos_sur_le_coup + J OK + +3. Lorsque l'adversaire a joué: + + J Play des_infos_sur_le_coup + + À partir de ce moment commence immédiatement le décompte du temps de + réflexion du joueur. + +4. Lorsque la partie se termine, un des cas suivants se présentent: + + J You win + J You lose + J Tie + J Eliminated + + Le joueur répond alors: + + P Fair enough + + Le joueur doit enregistrer toutes ses données (apprentissage, ...) avant + d'envoyer ce message : en effet, le juge envoit un SIGTERM au joueur une fois + qu'il l'a reçu. + + +Organisation du tournoi +----------------------- + +Chaque paire ordonnée de joueurs distincts est considérée (pour chaque paire de +joueurs, il y a deux matchs, un où chaque joueur commence). Les matchs sont mis +en attente, et n matchs sont lancés en parallèle (typiquement n = 4). + + +Interface de visualisation du juge +---------------------------------- + +On a une GUI avec les vues suivantes : + +- Tableau des scores (classé, évidemment) +- Liste des matchs en cours, liste de tous les matchs (en cours et finis) +- Visualisation d'un match (géré par le jeu) + + + |