PyRat

Cette page a pour objectif de présenter le logiciel PyRat d’un point de vue utilisateur. Vous y trouverez entre autres des informations relatives au fichier à compléter pour écrire vos propres IAs pour PyRat. Pour mieux comprendre le fonctionnement de la plate-forme, vous pouvez visiter cette page. Une présentation des structures manipulées dans PyRat est disponible ici.

Obtenir le logiciel

Le logiciel PyRat peut être simplement installé sur votre machine. Il suffit de suivre les étapes suivantes :

  1. Télécharger le code source sur le GitHub du projet.
  2. Décompresser l’archive.
  3. Lire le fichier README.md.

Démarrer une partie

Vous pouvez à présent utiliser les commandes permettant de démarrer des parties avec PyRat. Celles-ci sont décrites en détail dans le fichier README.md. Par exemple, la commande suivante démarre une partie où le rat cherche à ramasser tous les morceaux de fromage en se déplaçant de façon aléatoire :

Sur Windows :

Sur Ubuntu :

Ces lignes doivent être exécutées à partir du répertoire racine du logiciel PyRat, c’est-à-dire là où le fichier “pyrat.py” se trouve.

Après la partie

Une fois la partie terminée, une chaîne de caractères apparaît dans le terminal, résumant la partie :

On y trouve un certain nombre d’informations pour chaque joueur :

  • Le nombre de mouvements additionnels causés par de la boue (stucks).
  • Le nombre de mouvements effectués (moves), égal au nombre de timings non ratés.
  • Le nombre de mouvements ratés pour cause de calcul trop long ou de déplacement contre un mur (miss).
  • Le nombre de morceaux de fromages ramassés (score).
  • Un indicateur de gain de la partie (win) qui vaut 1 si la partie a été gagnée par ce joueur, 0.5 en cas d’ex-æquo et 0 sinon.

Pour obtenir des statistiques, il suffit de lancer plusieurs parties (paramètre “–tests”) et la dernière ligne indiquera la moyenne obtenue pour chacun des critères mentionnés ci-dessus.

Détails sur les IAs PyRat

Pour faciliter la mise en marche du module, nous vous fournissons un squelette de fichier source Python. Celui-ci est situé dans le dossier AIs, et se nomme template.py. En lisant le code que contient ce fichier, vous vous rendrez compte qu’il est subdivisé en sous-sections :

  • Constantes pré-définies : Ce sont des constantes utiles. Les mouvements qui y sont définis (MOVE_XXX) sont à renvoyer par la fonction turn pour indiquer à PyRat comment se déplacer. De plus, le nom de votre IA est à définir dans la constante TEAM_NAME.
  • Zone d’expression libre : Vous n’êtes pas restreints aux deux fonctions utiles à PyRat (preprocessing et turn). Vous pouvez écrire tout le code que vous voulez ici.
  • Fonction de pré-traitement : Au début de toute partie de PyRat, la fonction preprocessing est appelée. Cela vous permet de faire quelques calculs en amont, afin de préparer vos décisions lors des tours de jeu.
  • Fonction de tour de jeu : Une fois la phase de pré-traitement terminée, les tours de jeu s’enchaînent, et la fonction turn est appelée régulièrement. A chaque fois que cette fonction renvoie une décision de mouvement, le tour est appliqué.

Attention ! Les fonctions preprocessing et turn ont un temps attribué limité. Si votre pré-traitement est trop long, vous allez rater les premiers tours de jeu. De même, si votre fonction de tour est trop longue, il se peut que vous vous déplaciez un tour sur deux !

Un tutoriel complet est disponible ici pour vous guider lors de l’écriture d’un programme simple. N’hésitez pas à le suivre pour mieux comprendre comment utiliser le logiciel. De plus, le code du fichier programs/template.py est particulièrement documenté, et détaille entre autres les types des paramètres des fonctions preprocessing et turn, ainsi que leurs utilités.

Conclusion

Cette documentation a pour but de vous permettre de bien appréhender PyRat et de vous expliquer comment vous en servir. Prenez le temps de découvrir les options de PyRat (lancer “python pyrat.py –help”) pour mieux les appréhender.

Bon jeu !

Publié le

Laisser un commentaire