Site menu:

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'

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:

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.