La plate-forme PyRat

Cette page décrit sommairement le fonctionnement de la plate-forme PyRat.

Principes généraux

Le logiciel PyRat fonctionne essentiellement de la façon suivante. Le cœur du programme est géré par le fichier “pyrat.py”, lequel gère tous les éléments fondamentaux : création des labyrinthes, gestion des joueurs, gestion de l’affichage, génération des statistiques…

Lorsqu’il est exécuté, ce programme lance un “thread”, c’est-à-dire un processus en parallèle qui s’occupe de l’affichage. Il communique avec lui par l’intermédiaire de files de communications. Par conséquent, l’affichage n’a pas d’impact direct sur le cœur de PyRat : s’il est ralenti cela n’affecte pas le programme principal (sauf bien sûr si les ressources de la machine sont insuffisantes).

Il démarre aussi deux “processes”, un pour chaque joueur. Ces programmes sont plus autonomes que des threads et permettent de gérer les deux joueurs de façon quasi-indépendantes. Les communications entre le programme principal et les processes gérant les joueurs se font également par l’intermédiaire de files de communication. Là aussi, tout est fait pour que le programme d’un joueur n’affecte pas celui de l’autre.

Gestion des joueurs

Lorsque la partie commence, le programme principal appelle la fonction “preprocessing” du fichier des joueurs. Si aucun fichier n’est fourni pour le joueur, le fichier “dummyplayer.py” est utilisé à la place (ce fichier est disponible dans le dossier “imports”). Ensuite, au fur et à mesure que la partie évolue, le programme principal appelle les fonctions “turn” des deux joueurs pour connaître leurs déplacements.

Ce n’est donc pas directement le fichier de vos IAs qui est appelé par python, mais le programme principal qui utilise les fonctions que vous avez définies lorsque le moment est venu. C’est pour cette raison qu’exécuter vos fichiers directement avec python ne donne rien d’intéressant.

Publié le

Laisser un commentaire