A panorama fájl felépítése(új elemek): Root: randomhdata és randomvdata: Ugyanolyan hosszú tömbök. A program minden hotspothoz egy véletlen pozíciót rendel a tömbök segítségével úgy, hogy az i-edik "v"-hez az i-edik "h" tartozik, illetve minden koordinátát egyszer használunk fel. maxpoints: Megadja hogy hány játékot kell megoldani a panorámából. Ha nincs megadva, akkor az összeset. pictures: A játékokhoz tartozó képek listája kiterjesztés nélkül, ezek fognak megjelenni a jobb alsó sarokban. Hotspot: type: Meghatározza a hotspot viselkedését. 0: A panorámán a játék hotspot ikonja "villog", azaz fix időközönként eltűnik és megjelenik, ha a hotspot aktív. 1: A panrámán a játék hotspot ikonja folyamatosan látszódik, ha a hotspot aktív. 2: Kijárat, végig látszódik, akkor kattintható, ha minimum maxpoints darab játék meg van oldva. 3: Lakat típus: Amíg a hotspot nem aktív, addig egy lakat van a helyén, utána már a megfelelő ikon, limit: A program 1-999 futtat egy számlálót, amit setinterval(...,20) időközönként megnövel eggyel. Ha a számláló>limit, akkort a hotspot látszódik(csak 0 típusú sünöknél). Ha nincs megadva, akkor az alapérték 900. parents: Két értéke lehet: [0]: A hotspot a játék kezdetétől aktív. [,.......]: A hotspot a játék kezdetén inaktív, csak akkor lesz aktív, ha az összes gameid: -val rendelkező hotspot meg van már oldva. link: Játék esetén a játék linkja, kijárat(type=2) esetén a következő panoráma fájlneve. A játék működése: Alapvetően a drawScene függvény hívódik meg folyamatosan egy timerral frissítve. Minden hotspothoz tartozik egy state nevű rejtett belső változó, ami meghatározza, hogy megjelenik-e a hotspot. A változó 0 és 1001 között mozog 1-el növekedve minden timer hívásnál, ha eléri az 1000-et akkor a következő hívás visszaállítja 1-re. A hotspot akkor jelenik meg, ha a state nagyobb az adott hotspothoz tartozó limitnél, amit a json fájlban adunk meg. A hotspotok az alábbi induló state értékekkel indulnak: state=0: A hotspot akkor indul 0 értékkel, ha a parent változója nem üres, és nem 3-as típusú. A state=0 értékű hotspotokat soha nem jeleníti meg a program, és nem is növeli. Amikor az összes parent megoldódótt, akkor a hotspot state értékét a refreshHotspots függvény beállítja attól függően, hogy milyen típusú. Type=1 esetén permanensen 1000 lesz az értéke(azaz mindíg látszódik), type=0 esetén pedig egy 0