# Bloky 8×8: zdroje tvarov, pravidiel a grafiky Hra nepreberá žiadny cudzí obrázok, písmo, zvuk ani kód. Tvary, mriežka, obálka aj animácie sú nakreslené ručne v CSS a SVG z farieb v `packages/ui/src/tokens.css`. Z webu sme overili, ktoré tvary a pravidlá sú pri hrách tohto typu zaužívané, aby tvary mali správny tvar. Názvy cudzích hier ani značiek sa v hre nepoužívajú. | Čo | Zdroj | Licencia | Ako je použité | |---|---|---|---| | Základná sada tvarov hier typu „1010“: bodka, čiary 2 až 5 políčok vodorovne aj zvislo, štvorce 2×2 a 3×3, malý roh (3 políčka) a veľký roh (5 políčok, 3×3), oba v 4 otočeniach; tvary sa neotáčajú, ponúkajú sa po troch | Klooni 1010, `Piece.java`: https://github.com/LonamiWebs/Klooni1010/blob/master/core/src/dev/lonami/klooni/game/Piece.java | GPL-3.0 (kód sme nepreberali) | len ako fakt: zoznam tvarov a ich rozmery, prekreslené vlastnými vzormi v `src/rules.ts` | | Bodovanie: body za položené políčka a za n radov naraz hodnota radu × n(n+1)/2 | Klooni 1010, `BaseScorer.java`: https://github.com/LonamiWebs/Klooni1010/blob/master/core/src/dev/lonami/klooni/game/BaseScorer.java | GPL-3.0 (kód sme nepreberali) | len vzorec; u nás 1 bod za políčko a 10 × n(n+1)/2 za rady | | Rozšírená sada hier na mriežke 8×8: tetromina T, S, Z, L a J, obdĺžniky 2×3, tri tvary naraz | Playgama, „How many blocks are there in Block Blast?“: https://playgama.com/blog/game-faqs/how-many-blocks-are-there-in-block-blast/ | článok, prevzatý je len fakt | výber rodín tvarov | | Presný tvar tetromín (I, O, T, S, Z, L, J) a počet ich otočení (19 pevných tetromín) | Wikipédia, Tetromino: https://en.wikipedia.org/wiki/Tetromino | CC BY-SA 4.0 (text), tvary sú matematický fakt | kontrola tvarov L, J, T, S, Z a ich otočení | | Veľký roh = V-pentomino (3×3, ramená po 3 políčkach) | Wikipédia, Pentomino: https://en.wikipedia.org/wiki/Pentomino | CC BY-SA 4.0 (text), tvar je matematický fakt | kontrola tvaru veľkého rohu | | Pravidlá žánru: mriežka 8×8, tri tvary naraz, plný riadok alebo stĺpec zmizne, koniec, keď sa nezmestí žiadny tvar, bez otáčania | Klooni 1010, `Piece.java` a `BaseScorer.java` (URL vyššie, GPL-3.0, kód sme nepreberali) a článok Playgama (URL vyššie) | fakty | pravidlá v `src/rules.ts` a v `src/content.ts` | | Ikony v lište a vo výsledku (play, arrow_counter_clockwise, share_network, trophy) a krížik na políčkach, kam sa tvar nezmestí (x) | Phosphor Icons cez `@hoyhop/ui` (`packages/ui/src/icons.ts`), https://phosphoricons.com | MIT | bez úprav; krížik ako CSS maska nad políčkom | | Zvuky | syntéza v `@hoyhop/ui` (`playSfx`) | vlastné | bez súborov | | Farby tvarov | tóny `--tone-sun`, `--tone-leaf`, `--tone-berry`, `--tone-sky`, `--tone-clay` z `tokens.css` | vlastné | každá rodina tvarov má stálu farbu (`FAMILY_TONE` v `src/rules.ts`); rovnaké farby má aj obálka `cover.svg` | ## Sada tvarov v hre (37 tvarov, otočenia sú samostatné tvary) - bodka 1×1 - čiary 2, 3, 4 a 5 políčok, vodorovne aj zvislo (8) - štvorce 2×2 a 3×3 - obdĺžniky 3×2 a 2×3 - malý roh z 3 políčok, 4 otočenia - veľký roh z 5 políčok (3×3), 4 otočenia - L a J zo 4 políčok, po 4 otočeniach (8) - T zo 4 políčok, 4 otočenia - S a Z zo 4 políčok, vodorovne aj zvislo (4) Tvary sú zapísané ako textové vzory v `src/rules.ts` a test `rules.test.ts` kontroluje ich tvar, súvislosť a to, že sa žiadne dva neopakujú.