01.02.2013 Aufrufe

MiCaDo Projektbericht - artecLab - Universität Bremen

MiCaDo Projektbericht - artecLab - Universität Bremen

MiCaDo Projektbericht - artecLab - Universität Bremen

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!