next up previous contents
suivant: La planification monter: Une implémentation d'équipe pour précédent: Interfaces avec l'environnement   Table des matières


Représentation de l'environnement

Le CMU-2000 fournit une classe PositionInfo, qui hérite des méthodes et des variables de plusieurs autres classes de l'implémentation (PositionInfo, PlayerInfo et OptionInfo). La classe PositionInfo contient toutes les informations déduites de la communication avec le serveur de la simulation, soit une image symbolique mais brute de l'état du monde. Le CMU-2000 modélise les objets de l'environnement par une suite de classes géométriques, décrites dans la figure [*]. Parmi les informations contenues dans la classe PositionInfo:

La classe PositionInfo fournit de plus de nombreux accesseurs (méthodes permettant d'accéder aux données de la mémoire) et de nombreux facilitateurs (méthodes permettant de simplifier l'accès et la modification de structures de données complexes en mémoire). Notamment, elle fournit des facilitateurs définissant des prédicats simples sur les objets de l'environnement (distance à la balle, calcul de la vitesse d'un objet, vérification de la validité de la position d'un coéquipier, etc.). Elle propose de plus des prédicats plus complexes, utilisables directement pour faciliter l'évaluation des actions en cours (par exemple le nombre de joueurs adverses dans un cône donné, ce qui est utile pour évaluer les chances de réussite d'une passe).

Figure: Hiérarchie des objets géométriques de CMU-2000
Hiérarchie des objets géométriques de CMU-2000

Notre implémentation utilise intensivement CMU-2000 pour gérer la couche protocole (attente de l'arrivée de messages, interprétation des messages reçus, mise à jour de l'état du monde en fonction de la réponse du serveur, etc.) et pour les primitives effectrices de bas niveau (avancée d'un pas, impression d'une accélération sur la balle, etc.). De même, nous utilisons certains facilitateurs de la classe PositionInfo pour simplifier des calculs géométriques et pour factoriser les calculs de position.


next up previous contents
suivant: La planification monter: Une implémentation d'équipe pour précédent: Interfaces avec l'environnement   Table des matières
Benjamin DRIEU 2001-10-12