Master Control Program
Cette page explique comment utiliser le package pour lancer un match de Tron.
Préliminaires
Placez-vous dans le dossier tron_game/
que vous avez téléchargé. Pour ce faire, vous pouvez ouvrir le fichier MCP.py
avec Pyzo et utiliser Ctrl-Shift-E (ne pas oublier le Shift) pour l’obliger à “exécuter en tant que script” ce qui a pour effet de vous placer dans le bon dossier.
Structure de MCP.py
Première partie: les constantes.
En début du fichier sont définies deux constantes CARTE
et SAVE_FILE
.
# La carte sur laquelle les deux vont s'affronter. CARTE = 'cartes/duel-small.txt' # Le fichier dans lequel on va sauvegarder SAVE_FILE = 'ma_partie.npy'
- La première correspond à l’adresse de la carte sur laquelle vous voulez jouer sous forme de chaîne de caractère,
- quant à la seconde, il s’agit du fichier dans lequel sera sauvegardé votre match (sous forme d’un tablea Numpy) si jamais vous voulez le revisualiser plus tard.
Seconde partie: appel des joueurs
# Importation des deux joueurs. # D'abord le premier import escargot as p1 # Un petit hack est nécessaire si jamais on veut faire jouer un robot contre # lui-même: changer le nom entre guillemets par celui importé précédemment # pour pouvoir le réimporter en tant qu'entité distincte. import sys del(sys.modules["escargot"]) # Import du second joueur import escargot as p2
L’essentiel est marqué dans le code, mais décrivons un peu les lignes:
import escargot as p1
importe le robot défini dans le fichierescargot.py
en tant que joueur 1 (p1 pour player1, surtout ne pas modifier l’alias!).del(sys.modules["escargot"])
permettra de réimporter le même fichier que précédemment en tant que module disctinct (sinon Python ne réimporte pas un module déjà importé). Évidemment, il est nécessaire d’accorder la chaîne de caractère"escargot"
en fonction du module que vous avez importé juste avant. Par exempleimport fuyard as p1
doit forcément mener àdel(sys.modules["fuyard"])
par la suite.- Enfin,
import escargot as p2
permet d’importer le fichierescargot.py
qui contient donc le second joueur.
Si jamais vous obtenez des comportements bizarres quand vous faites jouer un robot contre lui-même, c’est certainement que vous avez omis de changer la ligne de délétion au bon nom.
Troisième partie: ne pas toucher !
La suite permet de faire évoluer la partie, mais vous ne devez pas y toucher. La version du serveur ne prendra de toutes façons pas vos modifications en compte.
Utilisation
Pour effectuer un match, ouvrez MCP.py
dans pyzo et changez (si vous le désirez) la variable CARTE
et les joueurs importés qui vont devoir s’affronter. Puis “exécutez le fichier en tant que script” (raccourci clavier Ctrl-Shift-E sous Pyzo) pour s’assurer que Python est bien appelé dans le répertoire tron_game/
où tous les fichiers sont placés. Ensuite, passez en revue les différentes étapes en appuyant sur les touches >
et <
en bas à gauche. Le joueur 1 est en bleu, le joueur 2 est en rouge.