Entraîner votre robot
Après avoir modifié votre robot, vous pouvez l’entraîner en le regardant combattre d’autres robot ou même lui-même. Pour ce faire, vous disposez d’un “Maître du Jeu” dans le répertoire engine/. Étant écrit en java, il s’appelle suivant la commande
java -jar engine/Tron.jar
Néanmoins, l’utilisation sans arguments renvoie une erreur qui vous renseigne sur la syntaxe:
FATAL ERROR: not enough command-line arguments. USAGE: java -jar Tron.jar map-filename command-to-start-player-one command-to-start-player-two [delay-between-turns] [max-move-time]
On doit en fait donner au moins 3 arguments et au maximum 5 (les deux derniers sont optionnels). Dans l’ordre:
- la carte où s’affronteront les robots, à choisir parmi les fichiers disponibles dans le répertoire
maps/(par exemplemaps/ring.txt); - la commande permettant d’appeler le premier robot, entre guillemets car elle contiendra vraisemblablement des espaces (par exemple
"python MyTronBot.py"si vous voulez tester le votre); - la commande permettant d’appeler le second robot, de même entre guillemets (par exemple “java -jar example_bots/Chaser.jar” pour combattre le chasseur)
- le temps (en secondes) entre l’affichage de deux tours pour vous permettre de suivre visuellement la bataille. La valeur par défaut est à 1, ce qui est souvent suffisant. Mettez 0 si vous voulez une réponse (quasi-)instantanée (ou tout du moins uniquement limitée par les calculs des robots). Malheureusement, il n’est pas possible de mettre de valeurs entre 0 et 1;
- le temps maximal laissé à chaque robot pour faire ses calculs. Dans le tournoi, celui-ci sera de 1 seconde, mais il n’est pas forcément exclu que ce paramètre puisse être augmenté un peu si la demande est suffisante.
En résumé l’appel standard sera:
java -jar engine/Tron.jar maps/ring.txt "python MyTronBot.py" "java -jar example_bots/Chaser.jar"
dont l’affichage résultant peu ressembler à
15 15 ############### # 2 # # ##### ##### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##### ##### # # 1 # ############### 15 15 ############### # #2 # # ##### ##### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##### ##### # # 1# # ############### 15 15 ############### # ##2 # # ##### ##### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##### ##### # # 1## # ############### 15 15 ############### # ### # # #####2##### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##### ##### # # 1### # ############### 15 15 ############### # ### # # ########### # # # 2 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##### ##### # # 1#### # ############### 15 15 ############### # ### # # ########### # # # # # # # # 2 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##### ##### # # 1##### # ############### 15 15 ############### # ### # # ########### # # # # # # # # # # # # # 2 # # # # # # # # # # # # # # # # # # # # # # # # # ##### ##### # # 1###### # ############### 15 15 ############### # ### # # ########### # # # # # # # # # # # # # # # # # # 2 # # # # # # # # # # # # # # # # # # # # # ##### ##### # # 1####### # ############### 15 15 ############### # ### # # ########### # # # # # # # # # # # # # # # # # # # # # # 2 # # # # # # # # # # # # # # # # # # ##### ##### # #1######## # ############### 15 15 ############### # ### # # ########### # # # # # # # # # # # # # # # # # # # # # # # # # # 2 # # # # # # # # # # # # # # #1##### ##### # ########## # ############### 15 15 ############### # ### # # ########### # # # # # # # # # # # # # # # # # # # # # # # # # # 2# # # # # # # # # # # #1# # # ####### ##### # ########## # ############### 15 15 ############### # ### # # ########### # # # # # # # # # # # # # # # # # # # # # # # # # # 2## # # # # # # #1# # # ### # # ####### ##### # ########## # ############### 15 15 ############### # ### # # ########### # # # # # # # # # # # # # # # # # # # # # # # # # # 2### # # #1# # # ### # # ### # # ####### ##### # ########## # ############### 15 15 ############### # ### # # ########### # # # # # # # # # # # # # # # # # # # # # # # # #1#2#### # # ### # # ### # # ### # # ####### ##### # ########## # ############### 15 15 ############### # ### # # ########### # # # # # # # # # # # # # # # # # # # # # #1 2 # # ######## # # ### # # ### # # ### # # ####### ##### # ########## # ############### 15 15 ############### # ### # # ########### # # # # # # # # # # # # # # # # #1# # # # ##2# # # ######## # # ### # # ### # # ### # # ####### ##### # ########## # ############### Player One Wins!
Pour cet exemple, le robot aléatoire a pris le dessus sur le chasseur.