Implementēt /mathapp_2023_q1/frontend
Jaunu spēles skatu
https://github.com/asya-ai/mathapp-algo
Designs (invites sent) https://www.figma.com/file/cEcBpfXCgl0e7IBqI4bAnX/Algo-Adventures?type=design&node-id=514-67556&mode=design&t=E71YlTcZlTkvxIqy-0
Spēles gaita:
Pašā sākumā ScreenGameCandyCrushIntro (atceries, ka jābūt strings localization)
Parādās ScreenGameCandyCrush, kur fornā ir šūnas un pa virsu ar animāciju parādās elementi pēc kārtas, šakotnēji randomly. ControllerGameCandyCrush.initialize(…)
vēlāk pārrakstīsim gudrāku algoritmu, lai nebūtu random izvietojums. Novērst to, ka uzreiz kādi no elementiem savā starpā notīrās rindā. Spēles sarežģītība arī mainīsies no skolēna vecuma (max_turn_count, max_score, min_element_count, cell_points)
Sākumā 0 punkti un dāvaniņa ir aizslēgta
Atkarībā no grūtības tiek iedots gājienu skaits līdz spēle tiek zaudēta, piemēram 10 gājieni (max_turn_count = 10)
Katru reizi, kad tiek veikts gājiens tas tiek atskaitīts
Katru reizi, kad notiek sprādziens, kad viena veida elementi ir rindā salikti, sākot no minimālā skaita elementu (piemēram min_element_count = 3) rinda uzsprāgst, TAD tiek pieskaitīts papildus gājiens, līdz (max_turn_count = 10, nevar to pārsniegt)
Pēc sprādziena ieliek random jaunus elementus, BET nedrīkst ielikt tā, ka uzreiz atkal notiek sprādziens. Aizliegts izmanto while loop meklēšanu, ir jau iepriekš jāaaprēķina kādus elementus drīkst ielikt un tos arī jāieliek no atļautajiem ar
xxxxxxxxxx
11const array = [1, 2, 3, 4, 5];
2const randomElement = _.sample(array);
3console.log(randomElement); // Output: Random element from the array
Kad sasniegts max_score = 1000, tad spēle beidzas un atveras dāvaniņas poga ar nelielu animāciju - var turpināt spēli vai arī uzspiest uz dāvaniņas un saņemt to un beigt spēli
Vēl spēli var beigt, ja beidzas gājieni
Uzspiežot uz dāvaniņas pogu pārādas popup ComponentGameCandyCrushGiftPopup
Atverot dāvaniņu parādās kāds no GameCandyCrushCell vizuāļiem, velāk ieliksim citus items (tie nonāks lāča inventory)
Jāparedz, ka vizual elements, kuri ir GameCandyCrushCell nākotnē būs kustīgi / animēti, lūdzu taisīt atsevišķās componenets katru
Selected state nomainās fons un palileinās ar transform mazliet šūna
Šajā spēlē nevāc medus punktus, bet tos tērē! tā ir izklaidējoša spēle tikai, kur beigās var dabūt dāvaniņu. Medus punktus vāks aritmētiskajās spēlēs
Models classes (atrodas backend)
Vispirms izveidot datu struktūru, pēc tam loģiku, Nelikt nekādus aprēķinus un pašu spēles loģiku iekš ScreenGameCandyCrush, tikai ControllerGameCandyCrush (static class)