Ce chapitre décrit comment utiliser le programme. Si vous le trouvez ennuyant à lire, passez le, et revenez le lire si vous n'arrivez pas à utiliser l'interface d'utilisation. C'est tout de même une bonne idée de lire la section concernant les options de lignes de commande ci-dessous. Notez aussi qu'il n'y a pas d'aide a propos de la compilation du programme. C'est ici que vous trouverez ces informations.
Sur la ligne de commande, il y a deux options qui contrôlent les caractèristiques générales de RealTimeBattle. Vous pouvez choisir le fichier qui détermine les
options.
Vous pouvez aussi choisir le mode d'execution du programme : debug
, normal
ou competition
.
Utilisation: RealTimeBattle [options] Options: --debug_mode, -d mode pour debugger le programme --debug_level [0-5], -D définie le niveau de debuggages (nécessite -d) --normal_mode, -n mode normal (option par defaut) --competition_mode, -c mode competition --no_graphics, -g execution sans le mode graphique --option_file [file], -o choix du fichier d'options (defaut: $HOME/.rtbrc) --log_file [file], -l création d'un fichier de log (Si le fichier 'file est '-' le log sera envoyé vers la sortie standard --tournament_file [file], -t specifie le fichier de tournoi pour démarrer automatiquement un tournoi --statistics_file [file], -s fichier vers lequel seront envoyées les statistique lors d'un autodémarage --message_file [file], -m redirige les messages vers 'file'. '-' est équivalent à STDOUT. si les log et les messages sont envoyés vers la sortie standard, '-m' sera ignoré --replay [file] -r un fichier log pour rejouer Si '_' est spécifié, les entrée se feront à partir de STDIN --help, -h affiche ce message --version, -v affiche le numéro de version du programme
Les différences entre les trois modes de compétition sont définies dans la table suivante :
Mode | Debug | Normal | Competition |
Commandes de débugage autorisées | Oui | Non | Non |
Pause durant le jeu | Oui | Oui | Non |
Step through game | Oui | Non | Non |
Les robots peuvent lancer des processus fils | Oui | Non | Non |
Limitation du CPU du robot | Non | Non | Oui |
Commencer un nouveau tournoi La section Fenetre de nouveau tournoi vous donnera plus d'informations.
Rejouer un jeu. Il vous sera demandé le fichier de log file que vous voudrez rejouer pour l'étudier.
Met le jeu en attente. En mode competition les pauses ne sont pas autorisées pendant le jeu, elle s'effectue à la fin du jeu.
Termine le tournoi courant.
Ouvre la fenêtre des options.
Ouvre la fenêtre des statistiques.
Cette boite peut être utilisée pour montrer et cacher les trois fenêtres utilisables quand une partie est en cours : La fenêtre de l'arèné, la fenêtre des scores et la fenêtre des messages.
Terminer le programme.
En
mode debug il y a d'autres boutons utilisables.
Ils sont là pour aider le debugage des robots. Vous pouvez debuguer un processus en cours d'execution; si vous utilisez gdb
la commande est gdb nom-du-robot numéro-du-processus
.
Durant une pause Ce bouton permet de faire avancer le programme d'une unité de temps. C'est très utile quand vous executer le robot dans un debugger, sinon le robot sera submergé par les messages.
Ceci terminera la partie en cours. Il a le même effet qu'aurait un depassement de temps.
En mode debug, vous pouvez marker un robot dans la fenêtre des scores. Ce robot mourira si vous pressez ce bouton.
Change le niveau de debuggage est une façon de dire au robot les messages qu'il doit envoyer. Les limites sont 0 et 5, où 0 est le mode normal, et 5 le plus haut niveau de debuggage.
Quand vous rejouer un ficher log (pas à partir de stdout) il y a un certain nombre de 'widgets' pour contrôler le déroulement. Consulter le rubrique Rejouer.
Pour choisir un robot ou une arène pour un tournoi, marquez les fichiers de droite et pressez le bouton ajout
. Choisisez les fichiers sur la gauche et effectuez la même manoeuvre pour les retirer.
Un tournoi est constitué d'un nombre desequences de jeux. Dans chaque sequence, les même robots jouent dans tous les jeux. C'est ici que vous choisissez le nombre de jeux et de sequences ainsi que le nombre de robots dans chaque séquence. Si vous voulez faire jouer tous les robots dans tous les jeux vous devez choisir une séquence et augmenter le nombre de jeux. Cela évite de relancer les processus des robots ce qui pourrait prendre du temps, spécialement quand le nombre de robots est grand.
Il est également possible de charger un fichier de tournoi, ou de sauver la configuration courante. Le dernier tournoi joué est stocké dans /tmp/rtb/tmp.tour et est toujours rechargé quand vous ouvrez la fenêtre. Si il n'y en a pas, une tournoi vide est affiché.
Vous devez choisir au moins deux robots et une arène pour commencer à jouer.
Afin que le programme puisse trouver les robots et les arènes vous avez définie deux options :
chemin d'accès aux Robots et
chemin d'accès aux Arenes
Les sous-repertoires Robots
et Arenas
dans le répertoire d'installation de rtb (par défaut: /usr/local/games/RealTimeBattle
), spécifiés à la compilation dans le Makefile, sont toujours regardés en premier, mais si vous créez un nouveau répertoire, ou que RTB est installé ailleur, vous devez redéfinir ces options.
This is where the battle takes place. If you want a more detailed view, use the zoom buttons or press +, - or 0. The robots are visualized as coloured circles with an angle shape showing the radar direction, the thick line is the cannon and the thin line points in the front direction.
Dans cette fenêtre, les robots jouant dans la sequence courante sont listés.
Sont écrits dans cette fenêtre les messages des robots envoyés par les commandes Print et Debug. Les messages les plus récents sont affichés en haut de la liste. Vous pouvez effacer cette fenêtre ou choisir d'afficher seulement les messages d'un robot en particulier.
Vous pouvez changer un certain nombre d'options. Dans le
chapitre sur les options vous pouvez obtenir des informations détaillées à propos de chaque option. Les changements ne sont pas appliqués avant que le bouton
appliquer
ou OK
ne soit pressé.
Vous pouvez sauvegarder ces options dans un fichier :
Sauver les options
les sauvera dans un fichier de votre choix et
Sauver par defaut
les sauvera dans le fichier .rtbrc
dans votre répertoire personnel.
Le bouton Défaut
remettra toutes les options à leur valeur par défaut.
Vous pouvez étudier les statistiques du tournoi courant sous différents angles. Vous pouvez afficher
Si vous voulez, vous pouvez lancer RTB sans aucun graphique. Ceci peut être très utile quand vous lancer une longue serie de tests ou que vous lancer une compétition.
Pour utiliser cette option, vous devez choisir : Soit ajouter l'argument -g
quand vous lancer votre programme, soit en empêchant les graphiques à la compilation (voir le fichier INSTALL
pour plus d'informations). La dernière alternative est utile car l'executable est plus petit et plus rapide sur les machines ayant peu de mémoire. Il vous permet également de lancer RTB sur une machine n'ayant pas gtk+
d'installé.
Quand vous lancez sans graphiques, vous devez spécifier un fichier de tournoi, sinon rien ne se produira. Il est également préférable de créer un fichier de log et/ou de statistiques si vous voulez connaître les resultats.
Le fichier de tournoi doit être spécifier comme option dans la ligne de commandes. Quand un tournoi est spécifié, il commencera et s'arrêtera automatiquement. Pour sauver les statistiques, regardez la section fichier de statistiques pour plus d'informations.
Un fichier de tournoi est composé de 5 mots-clés. Tous ces mots-clés peuvent être écrits plusieurs fois, mais n'oubliez pas que seul le dernier mot-clé qui prend un nombre comme argument est retenu. Tous les mots-clés doivent être suivient d'un point-virgule.
Prend un nombre ou une *
comme argument. Le nombre est le nombre de jeu qui doit se jouer par tournoi. L'astérisque voulant dire que le programme prend le nombre d'arène est l'utilise comme argument. La valeur par défaut est 1.
Prend un nombre ou un *
comme argument. Le nombre est le nombre de robot jouant dans chaque séquence. L'astérisque signifie que le programme prend le nombre exact de robots est l'utilise comme argument. La valeur par défaut est 2.
Prend un nombre ou un *
comme argument. Ce nombre indique combien de séquences doivent être jouées dans un tournoi. L'astérique signifie que le programme prend le nombre exact de robots le nombre de robots par séquence pour déterminer le nombre de séquence afin que tous les robots puissent se rencontrer exactement une fois, et utilise se nombre comme argument. La valeur par défaut est 1.
Prend pour arguments les fichiers de robots.
Prend pour arguments les fichiers d'arènes.
Les fichiers d'arguments peuvent être les suivants:
Le chemin d'accès sera le répertoire par défaut.
Exemple: Robot: empty.robot
Le programme prendra le fichier donné.
Exemple: Arena: /usr/local/games/RealTimeBattle/Arenas/Circle.arena
Recherche tous les fichiers dans le répertoire d'accès par défaut
Exemple: Arena: *
Recherche les fichiers dans le répertoire indiqué.
Exemple: Robot: /usr/local/games/RealTimeBattle/Robots/*
Il est possible de donner le nom d'un fichier plus d'une fois. Si vous voulez trois rotate_and_fire.robot. il suffit d'écrire rotate_and_fire.robot trois fois. C'est également possible avec *
.
Exemple de fichier de tournoi:
R: * Arenas: Circle.arena Square.arena G/S: 2 r/s: 3 Sequences: *
Quelquefois, il est plus utile de
rejouer une partie est de l'analyser en détail ou de la garder pour de futures références, et dans ce cas, un fichier de log peut-être utile. Ajouter l'argument -l
quand vous lancer RTB, avec le nom du fichier comme argument pour activer cette possibilité ou avec l'argument '-'
pour que le log soit affiché sur stdout.
Le format d'un fichier de log est le suivant : Chaque ligne comprend une lettre qui determine le type d'information, suivie d'une liste d'arguments séparés par des espaces. Les informations suivantes sont données:
H [games/sequence] [robots/sequence] [sequences] [robots]
A [line from the arena file]
G [sequence number] [game number]
O [option:value]
R [robot id] [x] [y] [cannon angle] [radar angle] [energy]
T [time elapsed]
P [robot id] [message to print]
C [cookie id] [x] [y]
M [mine id] [x] [y]
S [shot id] [x] [y] [dx/dt] [dy/dt]
D [type of object killed] [object id] (if robot: [points received] [position])
Vous pouvez rejouer une partie à partir de son
fichier de log soit en donnant
l'option de ligne de commandes
"-r"
ou à partir de la
fenêtre de contrôle.
Notez que si le log ne vient pas de l'entrée standard (par l'option
"-r -"
), vous ne pourrez pas faire grand chose d'autre que de regarder le jeu, si ce n'est qu'influencer sa vitesse :
Le fichier de statistiques est seulement utiliser lorsqu'un
fichier de tournoi est spécifié. Les statistiques seront sauvées dans ce fichier une fois que le tournoi sera terminé. Sinon, vous pouvez les sauver à la main en utilisant le bouton Sauver
dans la
fenêtre des statistiques.