13.07.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!