WarAgent
Il s’agit de la définition de base de tout les agents de la simulation Warbot dont voici les principales méthodes/fonctions accessibles pour le développement des comportements.
Les messages ainsi que leur contenu doit être des chaînes de caractères uniquement.
Méthodes/Fonctions de base
Messages
- sendMessage(id,message,content…) : Envoi un message à un autre agent
- broadcastMessageToAll(message, content…) : Envoi un message à tout les membres de l’équipe
- broadcastMessageToAgentType(agentType,message, content…) : Envoi un message à tout les agents de l’équipe avec ce type
- reply(receivedMessage,message,content) : retourne une réponse au message reçu
- getMessages() : retourne un tableau de message reçu par l’agent
Sac
- setIdNextAgentToGive(id) : change l’id de l’agent pour l’action give()
- getBagSize() : retourne la taille maximale du sac de l’agent
- getNbElementsInBag() : retourne le nombre d’élément présent dans le sac
- isBagEmpty() : retourne vrai si et seulement si le sac est vide
- isBagFull() : retourne vrai si et seulement si le sac est plein
Debugging (permet d’afficher des messages lors d’une exécution de Warbot à l’affichage)
- getDebugString() : retourne le message de debugging
- setDebugString(message) : modifie le message de debugging
Specials
- getAveragePositionOfUnitInPercept
- getIndirectPositionOfAgentWithMessage
- getTargetedAgentPosition
Fonctions d’état5>
- getViewDirection() : retourne la direction de l’agent
- getHealth() : retourne le niveau de vie actuel de l’agent
- getMaxHealth() : retourne le niveau de santé maximal de l’agent
- isBlocked() : retourne vrai si et seulement si l’agent est bloqué par un obstacle (ou un autre agent)
- getSpeed() : retourne la vitesse de l’agent
- getHeading() : retourne la direction de l’agent (en angle)
- setHeading(direction) : modifie la direction de l’agent (0-359)
- RandomHeading() : modifie de manière aléatoire la direction de l’agent
- setRandomHeading(range) : modifie de manière aléatoire la direction de l’agent (selon un certain intervalle)
- getTeamName() : retourne le nom actuel de l’équipe
- isEnemy(perception) : retourne vrai si et seulement si l’agent perçu n’est pas de la même équipe
- getID() : retourne l’id
Organisation
- requestRole(group,role) : demande d’avoir le rôle de ce groupe
- leaveRole(group,role) : quitter le rôle de ce groupe
- leaveGroup(group) : quitter le groupe
Fonctions de test
- haveTarget() : retourne vrai si et seulement si l’agent a plus d’une perception
- haveTargets(percepts) : retourne vrai si et seulement si le tableau de perceptions passé contient une cible
- haveNoTarget() : retourne vrai si et seulement si l’agent n’a aucun élément perçu
- haveNoTargets(percepts) : retourne vrai si et seulement si le tableau de perceptions ne contient aucune cible
- isBase(percept) : retourne vrai si et seulement si l’élément perçu est une base
- isEngineer(percept) : retourne vrai si et seulement si l’élément perçu est un ingénieur
- isExplorer(percept) : retourne vrai si et seulement si l’élément perçu est un explorateur
- isKamikaze(percept) : retourne vrai si et seulement si l’élément perçu est un kamikaze
- isRocketLauncher(percept) : retourne vrai si et seulement si l’élément perçu est un lanceur de missible
- isTurret(percept) : retourne vrai si et seulement si l’élément perçu est une tourelle
- isAlly(percept) : retourne vrai si et seulement si l’élément perçu est un allié
- isFood(percept) : retourne vrai si et seulement si l’élément perçu est de la nourriture
- shootTarget() : retourne l’action « Tirer » si l’arme est chargée sinon cela retourne « Recharger »
- pickableFood(percept) : retourne vrai si et seulement si l’élément est de la nourriture qui peut être ramassée
- isNotBagFull() : retourne vrai si et seulement si le sac n’est pas plein
- isMessageOfWarBase(message) : retourne vrai si et seulement si l’émetteur est une base
- isMessageOfWarEngineer(message) : retourne vrai si et seulement si l’émetteur est un ingénieur
- isMessageOfWarExplorer(message) : retourne vrai si et seulement si l’émetteur est un explorateur
- isMessageOfWarKamikaze(message) : retourne vrai si et seulement si l’émetteur est un kamikaze
- isMessageOfWarRocketLauncher(message) : retourne vrai si et seulement si l’émetteur est un lance-missile
- isMessageOfWarTurret(message) : retourne vrai si et seulement si l’émetteur est une tourelle
- sendMessageToBases(message,content) : envoi un message à toutes les bases
- sendMessageToEngineers(message,content) : envoi un message à tous les ingénieurs
- sendMessageToExplorers(message,content) : envoi un message à tous les explorateurs
- sendMessageToKamikazes(message,content) : envoi un message à tous les kamikazes
- sendMessageToRocketLaunchers(message,content) : envoi un message à tous les lanceurs de missiles
- sendMessageToTurrets(message,content) : envoi un message à toutes les tourelles
- isPossibleToGiveFood
- getNextBuildingToBuild
- setNextBuildingToBuild
- isAbleToBuild
- getIdNextBuildingToRepair
- setIdNextBuildingToRepair
Perceptions
Les méthodes suivantes servent à récupérer un tableau de perceptions
- getPercepts() : permet de récupérer toutes les perceptions visibles de l’agent
- getPerceptsAllies() :
- getPerceptsEnemies() :
- getPerceptsResources() :
- getPerceptsAlliesByType(warAgentType) :
- getPerceptsEnemiesByType(warAgentType) :
- getPerceptsFood():
- getPerceptsWarBase():
- getPerceptsWarEngineer():
- getPerceptsWarExplorer():
- getPerceptsWarKamikaze():
- getPerceptsWarRocketLauncher()
- getPerceptsWarTurret():
- getPerceptsAlliesWarBase():
- getPerceptsAlliesWarEngineer():
- getPerceptsAlliesWarExplorer():
- getPerceptsAlliesWarKamikaze():
- getPerceptsAlliesWarRocketLauncher()
- getPerceptsAlliesWarTurret()
- getPerceptsEnemiesWarBase()
- getPerceptsEnemiesWarEngineer()
- getPerceptsEnemiesWarExplorer()
- getPerceptsEnemiesWarKamikaze()
- getPerceptsEnemiesWarRocketLauncher()
- getPerceptsEnemiesWarTurret()
Actions d’agent
- create() : permet de créer des nouvelles unités (uniquement les unités créatrices)
- eat() : permet de récupérer de l’énergie s’il y a de la nourriture dans le sac
- give() : permet de donner un objet à l’agent ciblé.
- idle() : permet de ne rien faire durant une itération
- move() : se déplacer en avant (uniquement les unités mouvantes)
- take() : ramasse l’objet le plus proche
- fire() : lance une attaque (missile ou explosion – uniquement les unités agressives)
- reloadWeapon() : lance une attaque (missile ou explosion – uniquement les unités agressives)
- followTarget(percept) : se déplacer vers la cible (uniquement les unités mouvantes)
- giveToTarget
- createEngineer
- createExplorer
- createKamikaze
- createRocketLauncher
- createTurret
- createWall