Zdrojový kód hry domino: pravidlá, počítačoví súperi a 58 testov
Čo obsahuje balík Pip Club Dominoes, aké pravidlá hrá, kde meniť texty a kamene a čo nezahŕňa.

Zdrojový kód hry domino vyzerá jednoducho, kým si nepozriete okrajové prípady. Kto otvára, keď nikto nemá dublet? Čo sa stane, keď je zásobník prázdny a obaja hráči passujú? Ako sa počíta skóre na konci zablokovaného kola? Šablóna, ktorá na tieto otázky odpovedá v kóde a dokazuje to testami, má väčšiu hodnotu než šablóna s krajšími kameňmi. Pip Club Dominoes, naša šablóna dvojitej šestky, obsahuje 58 automatizovaných testov, ktoré pokrývajú pravidlá, počítačového súpera, rozloženie stola, ukladanie a 14 prekladov.
Tento návod vysvetľuje, aké pravidlá hra hrá, ako je balík usporiadaný, čo môžete zmeniť textovým editorom a čo vyžaduje nové zostavenie, ako ju hostovať a čo licencia dovoľuje. Názvy súborov pochádzajú z ilustrovaného sprievodcu kupujúceho, ktorý sa dodáva s položkou.
Jednu vec treba vedieť ako prvú: Pip Club sa hrá proti počítaču. Nemá online režim ani režim pre dvoch hráčov na jednom zariadení.
Pravidlá, ktoré hrá tento zdrojový kód hry domino
Pravidlá sa u šablón domina líšia najviac, preto ich porovnajte s tým, čo vaši hráči očakávajú. Pip Club hrá klasickú hru s blokmi dvojitej šestky, jeden hráč proti jednému počítačovému súperovi.
- 28 kameňov od 0 do 6. Každý hráč dostane 7 a ostatných 14 zostáva v zásobníku (boneyard).
- Otvára najvyšší dublet. Bez dubletov otvára najvyšší súčet, a pri zhode najvyššia polovica.
- Stôl má vždy dva konce, A a B. Kameň sa musí zhodovať s koncom a nula sa zhoduje s nulou.
- Dublety môžu ležať priečne, nikdy sa nerozvetvujú a nedávajú ďalší ťah.
- Bez zhody ťahajte jeden kameň naraz, kým nemôžete hrať. Ak je zásobník prázdny a nemáte zhodu, passujte.
- Domino (Domino): kto vyprázdni ruku, získa súčet zvyšku v ruke súpera.
- Zámok (Lock): dva passy za sebou pri prázdnom zásobníku zamknú stôl. Nižší súčet vyhráva rozdiel a rovnaké súčty sú remíza.
Režim Quick Round (rýchle kolo) končí po jednom kole. Režim Points Match (zápas na body) hrá kolá, kým niekto nedosiahne 50 alebo 100 bodov. Kampaň má 9 stretnutí v 3 kapitolách, jedno na každé stretnutie, a každé víťazstvo prinesie pečať.
Čo prichádza v balíku
Hráči čelia trom počítačovým súperom s vlastnou osobnosťou: Rico the DJ, mýval DJ, Faísca, líška skejtérka, a Nix, mačka umelkyňa, každý na úrovni Easy (ľahká), Normal (normálna) alebo Hard (ťažká). Hrateľné kamene žiaria, stôl ukazuje náhľad, kam kameň pristane, a nápoveda navrhne ťah. Sú tu tri miesta stretnutí (Rooftop, Skate Park a Midnight Arcade), šesť zberateľských sád kameňov, pečate kampane a štatistiky. Myš, dotyk aj klávesnica fungujú.
- game/: pripravené zostavenie na hosting, s index.html, pip.config.js, modules/, lib/, assets/ a licenses/.
- game/lib/phaser.js: Phaser 3.90.0, čitateľný, pod licenciou MIT.
- source/: upraviteľný TypeScript, grafika, hudba, preklady a automatizované testy.
- documentation/index.html a DOCUMENTATION.html: sprievodca kupujúceho v 14 jazykoch, ktorý sa otvorí offline.
- THIRD-PARTY-LICENSES/: oznámenia pre Phaser a písmo Barlow Condensed.
Grafika a hudba sú pôvodné aktíva produktu, licencované kupujúcemu spolu s položkou. Rozhranie je v 14 jazykoch a riadi sa jazykom prehliadača; nie je tu nahratý hlas, takže každá replika súpera nasleduje zvolený jazyk.
Pozrite si Pip Club Dominoes: demo, sprievodcu a cenu
Zmeňte bez nového zostavenia: pip.config.js
Vedľa index.html leží pip.config.js. Otvorte ho v ľubovoľnom textovom editore, zmeňte hodnotu, nahrajte súbor a obnovte stránku. Tam sú tri nastavenia.
- title: názov na karte prehliadača.
- saveKey: názov, pod ktorým sa ukladá postup. Predvolená hodnota je pip-club.
- defaultLanguage: počiatočný jazyk. Ak zostane prázdny, hra sa riadi prehliadačom.
Na živom webe nechajte saveKey nezmenený. Iný kľúč spôsobí, že hra ignoruje existujúci postup a začne nové uloženie, čo sa hodí na druhú kópiu a bolí pri aktualizácii.
Kde sú texty, grafika a kamene v zdrojovom kóde
- Texty a preklady: source/src/ui/i18n.ts a source/src/ui/locales/.
- Grafika postáv, scény a logo: source/src/assets/club/.
- Hudba: source/src/assets/music/.
- Farby kameňov: source/src/art/palette.ts a source/src/art/tileArt.ts.
- Testy: source/tests/.
Typická úprava značky ide v tomto poradí: logo a grafika scény v assets/club/, potom paleta kameňov, nakoniec znenia v locales. White label je povolený, takže vaša značka môže nahradiť našu. Zmena hry počítača alebo pravidla je hlbšia práca; spustite testy pred a po nej, lebo pokrývajú oboje.
Ak budujete malý katalóg stolových hier, dve ďalšie naše šablóny sa hodia vedľa tejto.
Ludo Cats: Ludo s mačiatkami, CPU na troch úrovniach alebo priatelia na jednom zariadení
Boba Club: pasiansy Klondike s kampaňou 12 rozdaní
Nové zostavenie po úprave TypeScriptu
Priečinok game/ je už zostavený, takže inštalácia hry nepotrebuje Node.js. Potrebujete ho až po zmene zdrojového kódu.
- Nainštalujte Node.js 22.12 alebo novší (sprievodca bol testovaný s 22.23). npm je súčasťou balíka.
- Otvorte terminál v source/, kde sú package.json a package-lock.json.
- Spustite npm ci. Nainštaluje presné uzamknuté verzie Phaseru, Vite, Vitest a TypeScriptu.
- Spustite npm test (58 testov) a npm run typecheck. Pred zostavením opravte chyby.
- Spustite npm run build. Výstup je source/dist-static/, s index.html, modules/, lib/, assets/ a licenses/.
- Zálohujte hostovanú hru, potom nahrajte obsah dist-static/ rovnako ako game/.
Sprievodca varuje pred npm audit fix a npm update, lebo menia otestované verzie. Ak sa objaví problém s balíkom, obnovte dodaný pár package.json a package-lock.json.
Hosting na vašom webe
Nahrajte len obsah game/, aby index.html ležal priamo v cieľovom priečinku, napríklad public_html/games/pip-club/. Vedľa neho ponechajte assets/, lib/, modules/, licenses/ a pip.config.js a zachovajte veľkosť písmen v každom názve. Nenahrávajte source/, documentation/ ani ZIP.
- Funguje ľubovoľný statický HTTP(S) hosting, v ľubovoľnom podpriečinku ľubovoľnej domény, lebo hra používa relatívne cesty.
- Na hranie nie je potrebná databáza, PHP ani služba Node.js.
- Otváranie index.html z počítača (file://) nie je podporované.
- Hosting musí servírovať .js, .webp, .woff2 a .mp3 s bežnými typmi.
- Hra nevykonáva žiadne volania analytiky, rebríčka, platieb ani reklamy.
Uloženia zostávajú v prehliadači hráča, v IndexedDB alebo localStorage, a nesynchronizujú sa medzi zariadeniami. Pri aktualizácii nahrajte nový game/ cez starý, ponechajte pip.config.js a jeho saveKey a ak sa stará verzia stále zobrazuje, vymažte cache súbory, nie dáta webu.
Čo nezahŕňa a licencia
Vydanie nemá online ani lokálny režim pre dvoch hráčov, cloudové uloženia, online rebríček, nákupy za skutočné peniaze ani reklamné SDK. Natívne aplikácie, hosting a vývoj na mieru sú mimo balíka. Pridanie reklám, obchodu alebo synchronizácie je práca vývojára, ktorá potrebuje vaše vlastné účty a schválenia.
Pip Club stojí 49 USD, čo sa s akciou Black Friday do 30. novembra 2026 zníži na 41,65 USD; zľava za balík 5 % až 20 % platí, keď kúpite dve alebo viac šablón naraz. Licencia je trvalá a nevýhradná, na jeden koncový produkt, váš alebo jedného klienta. Kód, grafiku a zvuk smiete meniť, dať na to svoju značku a nechať hráčov hrať zadarmo alebo s reklamou, ale šablónu ani jej kód nesmiete predávať samostatne. Podpora trvá šesť mesiacov, alebo dvanásť s rozšírením; všetko nad inštaláciu a opravu chýb sa ponúka podľa ceny.
Prečítajte si podmienky licencie a podpory
Často kladené otázky
Je zdrojový kód hry domino v TypeScripte alebo JavaScripte?
Zdroj je čitateľný, nezmenšený TypeScript. Pripravený priečinok game/ je zostavený JavaScript, takže nástroje pre TypeScript potrebujete len na zmenu hry.
Môžu proti sebe hrať dvaja ľudia?
Nie. Hráči hrajú proti počítačovým súperom na jednom zariadení. Neexistuje online ani lokálny režim pre dvoch hráčov.
Akú variantu domina hrá?
Klasická dvojitá šestka, jeden proti jednému, s ťahaním zo zásobníka, passovaním a pravidlom zámku. Domino počíta zvyšný súčet súpera a zamknutý stôl ide na nižší súčet.
Čo môžem zmeniť bez zostavenia?
pip.config.js nastavuje názov v prehliadači, kľúč uloženia a počiatočný jazyk. Pravidlá, grafika, texty a hudba sa menia v zdrojovom kóde a potrebujú nové zostavenie.
Funguje to offline?
Nevolá žiadne externé služby, ale nie je to offline aplikácia na inštaláciu. Hráči musia dosiahnuť vašu webovú adresu, aby ju načítali.
Je to základ domina, ktorý potrebujete?
Pip Club sa hodí na web alebo portál, ktorý chce klasickú stolovú hru pre všetky vekové skupiny, na štúdio, ktoré stavia značkové domino pre jedného klienta, a na vývojára, ktorý chce čitateľný TypeScript s počítačovým súperom a skutočnými jednotkovými testami. Nehodí sa na projekt, ktorý potrebuje, aby ľudia hrali proti sebe, online alebo na jednej obrazovke; to je od začiatku zákazková práca.
Vyskúšajte demo Pip Club a kúpte licenciu
Potrebujete iné pravidlá alebo viac licencií? Vyžiadajte si ponuku
