Dizains: https://www.figma.com/file/cEcBpfXCgl0e7IBqI4bAnX/Math-App?node-id=514%3A67556&mode=dev
Zālei / Fonam arī būs visuals, pašlaik var nelikt, bet ieplānot, ka būs
Pozīcijām un vektoriem izmantot math lib ThreeJS (ar TypeScript @types)
🔴 Datu struktūras pamainītas
Data structure apmēram šāda - interfaces:
Map un visi entities glabāsies nākotnē backend, bet sākotnēji var uztaisīt, ka map.json tiek ielādēts app pusē no faila.
Izveidot ControllerMap, kurš apstrādā funkcijas, kad nepieciešams, kaut ko pamainīt map datu struktūrā
Izveidot ScreenMap, ComponentMapLayer, ComponentMapItem, ComponentPlayer. Visiem Model interaces, kuriem vajag visuals savu component izveidot. Uzejot uz ūdenskrituma (no vienalga kuras puses), atveras math uzdevumu spēle.
Atkarībā no telefona ekrāna rezolūcijas mainās map zoom level (to implementēt ar style->transform->scale). Map position implementēt ar style->transform->translate (veļāk būs ārī panresponder, ka ar 2 pirkstiem varēs zoom)
FYI pirms kartes skata būs onboarding Screens un ScreenMainMenu, tos tagad netaisīt, bet atcerēties, ka tādi būs!
🔴 Kartes ceļa plānošanai izmantot A* path finding => occupancy grid (map_occupancy_grid)
🔴 Raitim pateikt - izveidot mērķis tap rive animation (bultiņa, kur jāiet, kad tap uz screen)
🔴 🔴 Raitim pateikt - Dzīvības / medus status uz kartes
Uztasīt TypeScript/ ReactJS / index.html / NodeJS express based map editor, kurš spēj saglabāt map.json failu. Nākotnē glabās DB, pirmai versijai var map.json. Implementē arī iespēju norādīt, kur Player sāk spēli, pozīciju. Atceries, ka MapItems ir arī map_item_size un map_item_repeatable, kas nozīmē, ka dažiem items ir TILING funkcija, ka viņi atkārtojas, ja viņus ievelk in range.
Jābūt Undo / Redo! Jābūt Confirm messages, kad delete layers.
Map size ir jābūt Dynamic, based on min (x, y) un max (x, y) map_item position
MapItem structures priekš library saglabāt kā JSON šobrīd (velāk būs DB) map_items.json
🔴Is repeated / Tiling , ievilkt
🟡 Spacing (random), Scale (random)
Collision Mask => iegūt map_occupancy_grid pa šūnām
Piemērs A* path finding
🔴 jQuery Animate alternatīva, lai mainītu Position
Piemērs kā react-native panākt Anitmated.Value -> https://www.perplexity.ai/search/1b5f302b-719b-498b-aea9-175fa975a7d0?s=c