Tillbaka till Omgivningssimulator
Sida 33
8 Körningsexempel
Felhantering utesluten. Timeout. Om mer än 5 timeout, meddela användaren.
8.1 Start-Up
1. ENS startar
- Starta Portmap och RPC-server
2. EXS startar
3. EXS byter till Remote mode
- myID= connect ()
- Läs av myID, om fel försök igen.
4. i ENS::connect ()
- Registrera klienten.
- Returnera ID.
5. i EXS: om EXS::connect() != fel
- Så länge Indataspecifikationen inte är slut;
- 1) status = subscribe (infoType)
- 2) Läs av status, om fel försök igen.
- status = end_client_specification (myID)
- Läs av status, om fel försök igen
- Skapa indataarray
- Meddela användaren OK.
6. i ENS::subscribe(infoType)
- Om den klient som meddelandet kommer ifrån inte är registrerad eller har rapporterat klar; returnera felkod.
- Om Meddelandetypen ej beställts tidigare; möjliggör sändning av Meddelandetypen.
- Återsänd resultat.
7. i ENS::end_client_specification(klientID)
- Märk klienten som klar.
- Om alla klienter är klara, meddela användaren att ESS klart för körning.
8.2 Avfyring av missil
- 1. i EXS
- objectNr = init_object (MISSILE)
- status = change_attr (objectNr, ownPos.x)
- :
- TPNr = init_object_event (objectNr, POSITION_BASED)
- status = change_attr (TPNr, targetPos.x)
- :
- status = insert_object_event (objectNr, TPNr)
- status = insert_object (objectNr)
- 2. i ENS::init_objekt (classID) där classID i detta exempel == MISSILE
- Skapa ett objekt av klassen Missile.
- Returnera objektets unika IDnummer.
- 3. i ENS::change_attr (objectNr, value)
- Hitta objektet och anropa motsvarande medlemsfunktion.
- Returnera resultatet.
Sida 36