Pri implementácii bola upravená 1 trieda a 1 trieda vytvorená v projekte Jim.
Vytvorenie triedy „Line“ v balíku sk.fiit.jim.agent.models. Táto trieda reprezentuje čiaru ako model v 3D súradnicovom systéme a zachováva absolútnu aj relatívnu polohu čiary.
Doplnenie zoznamu čiar do triedy „WorldModel“ balíka sk.fiit.jim.agent.models. Zoznam obsahuje objekty typu „Line“, ktorých cieľom je reprezentácia čiar v relatívnych aj absolútnych koordinátoch.
Doplnenie metódy „calculateLines“ v triede sk.fiit.jim.agent.models.WorldModel.
Doplnenie „get“ metódy „getLines“, ktorá vráti zoznam čiar typu „Line“.
Doplnenie metódy „processNewServerMessage“ o volanie našej novovytvorenej metódy „calculateLines“ spolu s ošetrením prázdneho zoznamu.
Obrázok 1: UML DIagram sekvencií - priebeh prepočturelatívnej pozície z parsera
Spracovanie novej správy sa v podstate skladá zo štyroch krokov:
Trieda uchovávajúca informácie o čiare, ktorú agent vidí:
Trieda implementuje rozhranie Serializable, aby mohla byť serializovateľná a mohla sa prenášať do TestFrameworku.
Obrázok 2: UML DIagram Tried - Vzťah tried Line a ParsedLineWithFlags
V tejto triede sme doplnili premennú, ktorá udržiava zoznam čiar (ktoré hráč vidí). Ďalej sme vytvorili verejnú metódu „getLines“, prostredníctvom ktorej je možné získať tento zoznam z iných tried.
Vytvorili sme metódu „calculateLines“, v ktorej sa prepočítavajú relatívne pozície na absolútne. Volanie tejto metódy sme doplnili do metódy „processNewServerMessage“, ktorá spracováva správy zo servera, teda keď príde nová správa zo servera, pozície čiar, ktoré hráč vidí, sú nanovo prepočítané.