Conception et implémentation en C++ d'un simulateur pour ... - CoDE
Conception et implémentation en C++ d'un simulateur pour ... - CoDE
Conception et implémentation en C++ d'un simulateur pour ... - CoDE
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
AddChild perm<strong>et</strong> d'ajouter un <strong>en</strong>fant à un obj<strong>et</strong> donné. SimulationStep<br />
perm<strong>et</strong> de définir ce que l'obj<strong>et</strong> doit faire à chaque pas de simulation. Par<br />
défaut, si un obj<strong>et</strong> héritant de CSimObject ne redéfinit pas SimulationStep,<br />
c<strong>et</strong>te fonction se cont<strong>en</strong>te d'appeler la fonction SimulationStep sur chacun<br />
des <strong>en</strong>fants de l'obj<strong>et</strong> considéré. La Figure 5 montre la façon dont les<br />
différ<strong>en</strong>ts obj<strong>et</strong>s de la simulation sont liés les uns aux autres par c<strong>et</strong>te<br />
relation par<strong>en</strong>t-<strong>en</strong>fant.<br />
Figure 5 - Diagramme par<strong>en</strong>t/<strong>en</strong>fant de TwoDee. Une flèche de A vers B signifie que A est le<br />
par<strong>en</strong>t de B <strong>et</strong> est, à ce titre, responsable de provoquer la mise à jour de celui-ci à chaque pas de<br />
simulation. Ceci n'a aucun li<strong>en</strong> avec la notion d'héritage de classes, il s'agit <strong>d'un</strong> mécanisme<br />
d'appels <strong>en</strong> cascade sur des instances de classes.<br />
La classe CSimulator possèdes 2 types d'<strong>en</strong>fants : l'arène <strong>et</strong> les robots.<br />
La classe CAr<strong>en</strong>a est la super-classe de toutes les arènes du <strong>simulateur</strong>.<br />
Une arène est représ<strong>en</strong>tée comme une grille à 2 dim<strong>en</strong>sions où chaque<br />
élém<strong>en</strong>t de la grille est un point de l'arène. Chaque point de l'arène peut<br />
avoir 3 hauteurs différ<strong>en</strong>tes. Une arène possède une taille <strong>et</strong> une résolution<br />
qui correspond<strong>en</strong>t, respectivem<strong>en</strong>t, à des dim<strong>en</strong>sions dans le monde réel <strong>et</strong><br />
dans le monde virtuel du <strong>simulateur</strong>. Afin de r<strong>en</strong>dre la définition de l'arène<br />
plus facile, il est possible de la définir par un tableau de caractères<br />
bidim<strong>en</strong>sionnel. Les caractères indiqu<strong>en</strong>t la nature de l'arène dans une<br />
13