Útmutató

Dominó játék forráskód: szabályok, gépi ellenfelek, 58 teszt

Mit tartalmaz a Pip Club Dominoes csomag, milyen szabályokat játszik, hol változtass szövegeket és köveket, és mit hagy ki.

Pip Club Dominoes grafika: egy mosómedve, egy róka és egy fekete macska kapucnis pulóverben mosolyog egy kerek asztal körül, három dominókővel naplementekor.

A dominó játék forráskód egyszerűnek látszik, amíg meg nem nézed a szélső eseteket. Ki kezd, ha senkinek nincs dupla? Mi történik, ha a húzóhalom üres és mindkét játékos passzol? Hogyan számolódik a pontszám egy lezárt kör végén? Egy sablon, amely ezekre kódban válaszol, és tesztekkel bizonyítja, többet ér, mint egy szebb kövekkel rendelkező. A Pip Club Dominoes, a dupla hatos sablonunk, 58 automatizált tesztet tartalmaz, amelyek a szabályokat, a gépi ellenfelet, az asztal elrendezését, a mentést és a 14 fordítást fedik le.

Ez az útmutató elmagyarázza, milyen szabályokat játszik a játék, hogyan van felépítve a csomag, mit változtathatsz meg egy szövegszerkesztővel, és mi igényel újraépítést, hogyan hosztold, és mit enged a licenc. A fájlnevek a csomaggal érkező illusztrált vásárlói útmutatóból származnak.

Egy dolgot előre tudj: a Pip Club a számítógép ellen játszik. Nincs online módja és nincs kétjátékos módja egy eszközön.

A szabályok, amelyeket ez a dominó játék forráskód játszik

A szabályok a dominó-sablonok között a legnagyobb mértékben különböznek, ezért ellenőrizd őket a játékosaid elvárásaival. A Pip Club klasszikus dupla hatos kőjátékot játszik, egy játékos az egyik gépi ellenfél ellen.

  • 28 kő 0-tól 6-ig. Mindkét játékos 7-et kap, a másik 14 a húzóhalomban (boneyard) marad.
  • A legmagasabb dupla nyit. Dupla nélkül a legnagyobb összeg nyit, döntetlen esetén a magasabb fél.
  • Az asztalnak két vége van, A és B. Egy kőnek illeszkednie kell egy végre, és a nulla a nullához illeszkedik.
  • A dupla keresztben állhat, de sosem ágazik el, és sosem ad extra kört.
  • Ha nincs illeszkedés, egyesével húzz, amíg tudsz lerakni. Ha a húzóhalom üres és nincs illeszkedés, passzolsz.
  • Domino: aki kiüríti a kezét, megkapja az ellenfél kezében maradt összeget.
  • Zár (lock): két egymás utáni passz üres húzóhalomnál lezárja az asztalt. Az alacsonyabb összeg nyeri a különbséget, az egyenlő összegek döntetlent jelentenek.

A Quick Round (gyors kör) egy körben ér véget. A Points Match (pontmeccs) addig játszik köröket, amíg valaki el nem éri az 50-et vagy a 100-at. A kampány 9 találkozóból áll 3 fejezetben, minden találkozóhelyhez (hangout) egy-egy, és minden győzelem egy pecsétet ad.

Mit tartalmaz a csomag

A játékosok három gépi ellenféllel néznek szembe, mindegyiknek saját személyisége van: Rico, a DJ mosómedve, Faísca, a gördeszkás róka, és Nix, a művész macska, mindegyik Easy (könnyű), Normal (normál) vagy Hard (nehéz) szinten. A játszható kövek fénylenek, az asztal előre mutatja, hol landol a kő, és egy tipp javasol lépést. Három találkozóhely van (Rooftop, Skate Park és Midnight Arcade), hat gyűjthető kőkészlet, kampánypecsétek és statisztikák. Egér, érintés és billentyűzet is működik.

  • game/: a tárhelyre kész build, index.html, pip.config.js, modules/, lib/, assets/ és licenses/ mappákkal.
  • game/lib/phaser.js: Phaser 3.90.0, olvasható, MIT-licenc alatt.
  • source/: a szerkeszthető TypeScript, a grafika, a zene, a fordítások és az automatizált tesztek.
  • documentation/index.html és DOCUMENTATION.html: a vásárlói útmutató 14 nyelven, amely offline is megnyílik.
  • THIRD-PARTY-LICENSES/: értesítések a Phaserhez és a Barlow Condensed betűtípushoz.

A grafika és a zene a termék eredeti eszközei, amelyeket a vásárlóval együtt licencelünk. A felület 14 nyelven érkezik, és követi a böngésző nyelvét; nincs felvett hang, így minden ellenfél-sor a választott nyelven szól.

A Pip Club Dominoes: demó, útmutató és ár

Változtatás újraépítés nélkül: pip.config.js

Az index.html mellett van a pip.config.js. Nyisd meg bármely szövegszerkesztőben, változtass egy értéket, töltsd fel a fájlt, és töltsd újra az oldalt. Három beállítás van benne.

  • title: a böngészőlap címe.
  • saveKey: a név, amely alatt a mentés tárolódik. Az alapérték a pip-club.
  • defaultLanguage: a kezdő nyelv. Üresen hagyva a játék követi a böngészőt.

Élő oldalon a saveKey maradjon változatlan. Egy másik kulcs miatt a játék figyelmen kívül hagyja a meglévő haladást, és új mentést kezd, ami egy második példánynál hasznos, egy frissítésnél viszont fájdalmas.

Hol vannak a szövegek, a grafika és a kövek a forrásban

  • Szövegek és fordítások: source/src/ui/i18n.ts és source/src/ui/locales/.
  • Karakterek grafikája, jelenetek és a logó: source/src/assets/club/.
  • Zene: source/src/assets/music/.
  • Kőszínek: source/src/art/palette.ts és source/src/art/tileArt.ts.
  • Tesztek: source/tests/.

Egy tipikus márkázási munka ebben a sorrendben megy: a logó és a jelenetgrafika az assets/club/ mappában, aztán a kőpaletta, végül a szöveg a nyelvi fájlokban. A white label megengedett, így a márkád helyettesítheti a miénket. A gépi ellenfél játékának vagy egy szabálynak a megváltoztatása mélyebb munka; futtasd a teszteket az előtt és után, mert mindkettőt lefedik.

Ha egy kisebb asztali játék-katalógust építesz, két másik sablonunk illik a mellé.

Ludo Cats: Ludo cicákkal, gépi ellenfél három szinten vagy barátok egy eszközön

Boba Club: Klondike pasziánsz 12 osztásos kampánnyal

Újraépítés a TypeScript szerkesztése után

A game/ mappa már le van építve, így a játék telepítéséhez nem kell Node.js. Csak a forrás módosítása után van rá szükséged.

  1. Telepítsd a Node.js 22.12-es vagy újabb verzióját (az útmutatót a 22.23-mal teszteltük). Az npm vele jön.
  2. Nyiss egy terminált a source/ mappában, ahol a package.json és a package-lock.json van.
  3. Futtasd az npm ci parancsot. Ez a zárolt, pontos verziókat telepíti a Phaserből, a Vite-ból, a Vitest-ből és a TypeScriptből.
  4. Futtasd az npm test (58 teszt) és az npm run typecheck parancsot. Javítsd a hibákat, mielőtt építesz.
  5. Futtasd az npm run build parancsot. A kimenet a source/dist-static/ mappa, index.html, modules/, lib/, assets/ és licenses/ tartalommal.
  6. Készíts biztonsági másolatot a feltöltött játékról, aztán töltsd fel a dist-static/ tartalmát pontosan úgy, mint a game/-et.

Az útmutató óv az npm audit fix és az npm update használatától, mert ezek megváltoztatják a tesztelt verziókat. Ha csomagprobléma merül fel, állítsd vissza a szállított package.json és package-lock.json párt.

Hosztolás a saját oldaladon

Csak a game/ tartalmát töltsd fel, így az index.html közvetlenül a célmappában lesz, például public_html/games/pip-club/. Az assets/, lib/, modules/, licenses/ és a pip.config.js mellette maradjon, és tartsd meg minden név kis- és nagybetűs írásmódját. Ne töltsd fel a source/-t, a documentation/-t vagy a ZIP-et.

  • Bármely statikus HTTP(S) tárhely működik, bármely domain bármely almappájában, mert a játék relatív útvonalakat használ.
  • Nincs szükség adatbázisra, PHP-re vagy Node.js-szolgáltatásra a játékhoz.
  • Az index.html megnyitása a számítógépről (file://) nem támogatott.
  • A tárhelynek normál típusokkal kell kiszolgálnia a .js, .webp, .woff2 és .mp3 fájlokat.
  • A játék nem hív analitikai, rangsoroló, fizetési vagy hirdetési szolgáltatást.

A mentések a játékos böngészőjében maradnak, IndexedDB-ben vagy localStorage-ben, és nem szinkronizálnak eszközök között. Frissítéshez töltsd fel az új game/ mappát a régi fölé, tartsd meg a pip.config.js-t és a saveKey-t, és ha a régi verzió még látszik, a gyorsítótárazott fájlokat ürítsd, ne a webhely adatait.

Amit nem tartalmaz, és a licenc

A kiadásban nincs online vagy helyi kétjátékos mód, nincs felhőmentés, nincs online ranglista, nincs valódi pénzes vásárlás és nincs hirdetési SDK. A natív alkalmazások, a tárhely és az egyedi fejlesztés szintén kívül esnek a csomagon. Egy bolt, szinkronizálás vagy hirdetés hozzáadása fejlesztői munka, amelyhez saját fiókok és jóváhagyások kellenek.

A Pip Club 49 USD, ami 2026. november 30-ig a Black Friday akcióval 41,65 USD. Két vagy több sablon egy rendelésben 5-20% közötti kötegkedvezményt kap. A licenc örökös és nem kizárólagos, egy végtermékre, a tiédre vagy egy ügyfeledére. A kódot, a grafikát és a hangot megváltoztathatod, a márkád ráteheted, és engedheted, hogy a játékosok ingyen vagy hirdetésekkel játsszanak, de a sablont vagy a kódját önmagában nem adhatod tovább. A támogatás hat hónapig tart, vagy tizenkettőig a bővítéssel; az telepítésen és hibajavításon túli bármi árajánlat tárgya.

A licenc- és támogatási feltételek elolvasása

Gyakran ismételt kérdések

A dominó játék forráskód TypeScript vagy JavaScript?

A forrás olvasható, tömörítetlen TypeScript. A game/ mappa a kész JavaScript-build, így csak a TypeScript-eszközök kellenek, ha a játékot át akarod írni.

Játszhat két ember egymás ellen?

Nem. A játékosok egy eszközön a gépi ellenfelek ellen játszanak. Nincs online és nincs helyi kétjátékos mód.

Melyik dominóváltozatot játssza?

Klasszikus dupla hatost, egy az egy ellen, húzóhalomból húzással, passzolással és zárási szabállyal. A Domino a másik fél megmaradt összegét írja jóvá, a lezárt asztal pedig az alacsonyabb összegé.

Mit változtathatok újraépítés nélkül?

A pip.config.js a böngészőlap címét, a mentési kulcsot és a kezdő nyelvet állítja be. A szabályokat, a grafikát, a szövegeket és a zenét a forrásban változtatod, és újraépítés kell hozzá.

Működik offline?

Nem hív külső szolgáltatásokat, de nem telepíthető offline alkalmazás. A játékosoknak el kell érniük a webcímedet a betöltéshez.

Ez az a dominóalap, amelyre szükséged van?

A Pip Club illik egy olyan oldalhoz vagy portálhoz, amely minden korosztálynak klasszikus asztali játékot akar, egy stúdióhoz, amely márkázott dominójátékot épít egy ügyfélnek, és egy fejlesztőhöz, aki olvasható TypeScriptet akar gépi ellenféllel és valódi egységtesztekkel. Nem illik olyan projekthez, amelyben embereknek egymás ellen kell játszaniuk, online vagy egy képernyőn; az egyedi munka lenne az elejétől.

A Pip Club demó kipróbálása és a licenc megvásárlása

Más szabálykészlet vagy több licenc kell? Kérj árajánlatot