Scénario¶
Ce chapitre indique la syntaxe des fichiers de scénario. Il s’agit des descriptions de l’état initial des simulations.
Le scénario à jouer est passé en ligne de commande du simulateur avec l’option -s. Chaque ligne du fichier est interprétée pour construire la situation initiale, puis le jeu commence.
Une partie des commandes servent uniquement à initialiser une situation de test et ne seront donc pas utilisées en match.
Commandes¶
- MAXTEAMS <teams>
Définis le nombre maximal d’équipes simultanées dans la simulation.
Il est souhaitable de définir la position des fourmilières de chaque équipe potentielle dans la suite du fichier.
teams
Nombre maximal d’équipes acceptées
- DURATION <s>
Définis la durée de la simulation.
s
Temps de simulation en secondes
- NEST_POSITION <team> <latitude> <longitude>
Définis la position initiale d’une fourmilière.
Si la commande est répétée pour une même équipe, la position est écrasée. Il est préférable d’avoir au moins une commande de ce type par équipe acceptée dans la simulation.
team
Numéro de l’équipe à qui appartient la fourmilière (débute à 0).
latitude
Latitude de l’objet en degrés (-90 à 90).
longitude
Longitude de l’objet en degrés (-180 à 180).
- NEST_POPULATION <team> <type> <nb>
Définis la population dans une fourmilière.
Chaque type de chaque équipe comportant au moins une fourmi initiale doit avoir sa propre ligne dans le fichier de scénario.
team
Numéro de l’équipe à qui appartient la fourmilière (débute à 0).
type
Type de fourmis. Nombre compris entre 0 et 255 inclus.
nb
Nombre de fourmis de ce type.
- NEST_FOOD <team> <amount>
Définis la quantité de nourriture initialement dans la fourmilière.
team
Numéro de l’équipe à qui appartient la fourmilière (débute à 0).
amount
Quantité de nourriture initiale.
- ANT <team> <type> <latitude> <longitude> <heading> <stamina> <memory1> <memory2>
Ajoute une fourmi dans la simulation.
team
Numéro de l’équipe à laquelle appartient la fourmi (débute à 0).
type
Type de fourmi.
latitude
Latitude de l’objet en degrés (-90 à 90).
longitude
Longitude de l’objet en degrés (-180 à 180).
heading
Cap de l’objet en degrés (-180 à 180 référencés au nord)
stamina
Stamina initiale.
memory1
Mémoire 1 initiale.
memory2
Mémoire 2 initiale.
- PHEROMONE <team> <type> <latitude> <longitude>
Ajoute une phéromone dans la simulation.
team
Numéro de l’équipe à laquelle appartient la phéromone (débute à 0).
type
Type de phéromone.
latitude
Latitude de l’objet en degrés (-90 à 90).
longitude
Longitude de l’objet en degrés (-180 à 180).
- FOOD <latitude> <longitude> <initialValue> <chargeRate> <chargeMax> <totalChargeMax> <deadIfEmpty>
Ajoute une source de nourriture dans la simulation.
latitude
Latitude de l’objet en degrés (-90 à 90).
longitude
Longitude de l’objet en degrés (-180 à 180).
initialValue
Quantité initiale dans la source.
chargeRate
Taux de rechargement en quantité par 100ms (peut être décimal, par exemple 0.1).
chargeMax
Quantité maximale.
totalChargeMax
Quantité maximale ajoutée pendant tout le match.
deadIfEmpty
La source doit-elle se tarir (1) ou continuer à se recharger (0) si elle est complètement consommée.