MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
MiCaDo Projektbericht - artecLab - Universität Bremen
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
tureingaben ausgelesen werden; die Schnittstelle für eine Initiative des Benutzers. 2<br />
Grundlegender Ablauf ist somit, dass der Benutzer zum Auslösen einer Interaktion mit einer Kreatur<br />
eine Taste drücken muss, was im main-Modul registriert wird. Das Modul seinerseits bringt durch<br />
das Event-System die Kreatur dazu, eine Funktion auszuführen, die auf ihre Motivationslevel einwirkt<br />
und sie somit veranlasst, eine bestimmte Aktion als Reaktion auf die Benutzerinitiative auszuführen.<br />
Unterstehender Code konkretisiert diese Wirkungskette anhand der Implementation:<br />
Datei main.cpp:<br />
/// Handles SDL events<br />
bool handle_events(double delta_t) {<br />
SDL_Event event;<br />
}<br />
while (SDL_PollEvent(&event)) {<br />
switch(event.type) {<br />
case SDLK_2:<br />
{<br />
wakeupCreature();<br />
if (micado_spectator::getActive())<br />
micado_spectator::getActive()->playSound(MICADO_SOUND_WAKEUP);<br />
} break;<br />
// Ermittelt und benachrichtigt die (zum Benutzer naechste) Kreatur,<br />
// die aufgeweckt werden soll<br />
void wakeupCreature() {<br />
double temp_distance;<br />
// naechste Kreatur ermitteln<br />
if(micado_creature::num() > 0) {<br />
micado_creature* act_creature = 0;<br />
2 Wir werden später sehen, dass das Auslösen von Events durch den Benutzer über eine spezielle Tastatur, eine Druck-<br />
Fernbedienung geschieht.<br />
41