Ghid

Cod sursă pentru joc de dominou: reguli, adversari CPU și 58 de teste

Ce conține pachetul Pip Club Dominoes, ce reguli joacă, unde se schimbă textele și piesele și ce lasă de-o parte.

Grafica Pip Club Dominoes: un raton, o vulpe și o pisică neagră în hanorace zâmbesc în jurul unei mese rotunde cu trei piese de domino, la apus.

Codul sursă pentru jocul de dominou pare simplu până verifici cazurile limită. Cine deschide când nimeni nu are dublă? Ce se întâmplă când pila de rezervă este goală și ambii jucători dau pasul? Cum funcționează scorul la sfârșitul unei runde blocate? Un șablon care răspunde la aceste întrebări în cod și le dovedește prin teste face mai mult decât unul cu piese mai frumoase. Pip Club Dominoes, șablonul nostru cu dubla șase, are 58 de teste automate care acoperă regulile, adversarul calculator, aspectul mesei, salvarea și cele 14 traduceri.

Acest ghid explică ce reguli joacă jocul, cum este organizat pachetul, ce poți schimba cu un editor de text și ce cere o reconstruire, cum îl găzduiești și ce permite licența. Numele fișierelor vin din ghidul ilustrat pentru cumpărători, livrat cu articolul.

Un lucru de știut înainte de orice altceva: Pip Club se joacă împotriva calculatorului. Nu are mod online și nici mod pentru doi jucători pe un singur dispozitiv.

Regulile acestui cod sursă de joc de dominou

Regulile sunt punctul în care șabloanele de domino diferă cel mai mult, deci verifică-le față de ce așteaptă jucătorii tăi. Pip Club joacă un joc clasic de piese cu dubla șase, un jucător contra unui adversar calculator.

  • 28 de piese de la 0 la 6. Fiecare jucător primește 7, iar celelalte 14 rămân în pila de rezervă.
  • Dubla cea mai mare deschide. Fără dublă, deschide cel mai mare total, iar la egalitate, cea mai mare jumătate.
  • Masa are întotdeauna două capete, A și B. O piesă trebuie să se potrivească cu un capăt, iar zero se potrivește cu zero.
  • Dublele pot sta transversal, dar nu se ramifică niciodată și nu dau o tură în plus.
  • Fără potrivire, tragi câte o piesă până poți juca. Cu pila de rezervă goală și fără potrivire, dai pasul.
  • Domino: cine își golește mâna primește totalul rămas în mâna adversarului.
  • Lock: două pase la rând cu pila de rezervă goală blochează masa. Totalul mai mic câștigă diferența, iar totalurile egale înseamnă remiză.

O Quick Round (rundă rapidă) se termină după o singură rundă. Un Points Match (meci cu puncte) joacă runde până când cineva ajunge la 50 sau 100. Campania are 9 întâlniri în 3 capitole, câte unul pentru fiecare loc de întâlnire, iar fiecare victorie aduce un sigiliu.

Ce vine în pachet

Jucătorii înfruntă trei adversari calculator, fiecare cu propria personalitate: ratonul DJ Rico, vulpea skater Faísca și pisica artist Nix, fiecare la nivelul Easy (ușor), Normal (normal) sau Hard (greu). Piesele jucabile strălucesc, masa arată unde va ateriza o piesă, iar un indiciu sugerează o mutare. Există trei locuri de întâlnire, Rooftop (acoperiș), Skate Park (parc de skate) și Midnight Arcade (sala de jocuri de la miezul nopții), șase seturi de piese de colecționat, sigilii de campanie și statistici. Mouse-ul, touch-ul și tastatura funcționează toate.

  • game/: versiunea gata de găzduit, cu index.html, pip.config.js, modules/, lib/, assets/ și licenses/.
  • game/lib/phaser.js: Phaser 3.90.0, citibil, sub licența MIT.
  • source/: TypeScript-ul editabil, grafica, muzica, traducerile și testele automate.
  • documentation/index.html și DOCUMENTATION.html: ghidul pentru cumpărători în 14 limbi, care se deschide offline.
  • THIRD-PARTY-LICENSES/: notificările pentru Phaser și fontul Barlow Condensed.

Grafica și muzica sunt active originale ale produsului, licențiate cumpărătorului odată cu articolul. Interfața are 14 limbi și urmează limba browserului; nu există voce înregistrată, deci fiecare replică a adversarului urmează limba aleasă.

Vezi Pip Club Dominoes: demo, ghid și preț

Schimbă fără reconstruire: pip.config.js

Lângă index.html stă pip.config.js. Deschide-l în orice editor de text, schimbă o valoare, încarcă fișierul și reîncarcă pagina. Acolo se află trei setări.

  • title: titlul filei browserului.
  • saveKey: numele sub care este stocată salvarea. Implicit este pip-club.
  • defaultLanguage: limba de start. Dacă rămâne goală, jocul urmează browserul.

Păstrează saveKey neschimbat pe un site live. O cheie diferită face jocul să ignore progresul existent și să pornească o salvare nouă, ceea ce este util pentru o a doua copie și dureros pentru o actualizare.

Unde trăiesc textele, grafica și piesele în sursă

  • Texte și traduceri: source/src/ui/i18n.ts și source/src/ui/locales/.
  • Grafica personajelor, scenele și logo-ul: source/src/assets/club/.
  • Muzica: source/src/assets/music/.
  • Culorile pieselor: source/src/art/palette.ts și source/src/art/tileArt.ts.
  • Teste: source/tests/.

O lucrare tipică de branding merge în această ordine: logo-ul și grafica scenei în assets/club/, apoi paleta pieselor, apoi formularea din locales. White label este permis, deci brandul tău poate înlocui pe al nostru. Schimbarea jocului calculatorului sau a unei reguli este o lucrare mai adâncă; rulează testele înainte și după, pentru că acoperă ambele.

Dacă construiești un mic catalog de jocuri de masă, alte două șabloane ale noastre se potrivesc alături de acesta.

Ludo Cats: Ludo cu pisicuțe, CPU pe trei niveluri sau prieteni pe un singur dispozitiv

Boba Club: solitaire Klondike cu o campanie de 12 aranjamente

Reconstruirea după ce editezi TypeScript

Folderul game/ este deja construit, deci instalarea jocului nu cere Node.js. Ai nevoie de el doar după ce schimbi sursa.

  1. Instalează Node.js 22.12 sau mai nou (ghidul a fost testat cu 22.23). npm vine odată cu el.
  2. Deschide un terminal în source/, unde se află package.json și package-lock.json.
  3. Rulează npm ci. Instalează versiunile blocate exacte ale Phaser, Vite, Vitest și TypeScript.
  4. Rulează npm test (58 de teste) și npm run typecheck. Repară erorile înainte să construiești.
  5. Rulează npm run build. Rezultatul este source/dist-static/, cu index.html, modules/, lib/, assets/ și licenses/.
  6. Fă o copie de rezervă a jocului găzduit, apoi încarcă conținutul din dist-static/ exact ca pe game/.

Ghidul avertizează împotriva npm audit fix și npm update, pentru că schimbă versiunile testate. Dacă apare o problemă cu pachetele, restaurează perechea package.json și package-lock.json livrată.

Găzduirea pe site-ul tău

Încarcă doar conținutul din game/, astfel încât index.html să stea direct în folderul țintă, de exemplu public_html/games/pip-club/. Păstrează assets/, lib/, modules/, licenses/ și pip.config.js alături și păstrează forma literelor fiecărui nume. Nu încărca source/, documentation/ sau arhiva ZIP.

  • Orice host static HTTP(S) funcționează, în orice subfolder al oricărui domeniu, pentru că jocul folosește căi relative.
  • Nu este nevoie de bază de date, PHP sau un serviciu Node.js ca să joci.
  • Deschiderea index.html de pe calculatorul tău (file://) nu este suportată.
  • Gazda trebuie să servească fișierele .js, .webp, .woff2 și .mp3 cu tipuri normale.
  • Jocul nu face apeluri pentru analitice, clasamente, plăți sau reclame.

Salvările rămân în browserul jucătorului, în IndexedDB sau localStorage, și nu se sincronizează între dispozitive. Pentru o actualizare, încarcă noul game/ peste cel vechi, păstrează pip.config.js și saveKey-ul lui și șterge fișierele din cache, nu datele site-ului, dacă apare încă versiunea veche.

Ce nu include și licența

Ediția nu are mod online sau local pentru doi jucători, nici salvări în cloud, nici clasament online, nici achiziții cu bani reali și nici SDK de publicitate. Aplicațiile native, găzduirea și dezvoltarea personalizată sunt și ele în afara pachetului. Adăugarea de reclame, a unui magazin sau a sincronizării este lucrare pentru dezvoltator, care cere propriile conturi și aprobări.

Pip Club costă 49 USD, ceea ce devine 41,65 USD cu promoția Black Friday până la 30 noiembrie 2026; o reducere de pachet de la 5% la 20% se aplică atunci când cumperi două sau mai multe șabloane împreună. Licența este perpetuă și nonexclusivă, pentru un produs final, al tău sau al unui client. Poți modifica codul, grafica și audio-ul, să-ți pui brandul și să lași jucătorii să intre gratuit sau cu reclame, dar nu poți revinde șablonul sau codul lui de sine stătător. Suportul durează șase luni, sau douăsprezece cu extensia; orice dincolo de instalare și remedierea defectelor se cotează separat.

Citește termenii de licență și suport

Întrebări frecvente

Codul sursă al jocului de dominou este TypeScript sau JavaScript?

Sursa este TypeScript citibil, nemicșorat. Folderul game/ gata de găzduit este JavaScript construit, deci ai nevoie de unelte TypeScript doar ca să schimbi jocul.

Pot juca doi oameni unul contra celuilalt?

Nu. Jucătorii înfruntă adversarii calculator pe un singur dispozitiv. Nu există mod online sau local pentru doi jucători.

Ce variantă de domino joacă?

Dubla șase clasică, unul contra unuia, cu tras din pila de rezervă, pase și regula de blocare. Domino punctează totalul rămas al adversarului, iar o masă blocată merge la totalul mai mic.

Ce pot schimba fără reconstruire?

pip.config.js setează titlul browserului, cheia de salvare și limba de start. Regulile, grafica, textele și muzica se schimbă în sursă și cer o reconstruire.

Funcționează offline?

Nu apelează servicii externe, dar nu este o aplicație offline instalabilă. Jucătorii trebuie să ajungă la adresa ta web ca să-l încarce.

Este aceasta baza de domino de care ai nevoie?

Pip Club se potrivește unui site sau portal care vrea un joc de masă clasic pentru toate vârstele, unui studio care construiește un joc de domino cu brand pentru un client și unui dezvoltator care vrea TypeScript citibil, cu adversar calculator și teste unitare reale. Nu se potrivește unui proiect care cere ca oamenii să joace unii împotriva altora, online sau pe un singur ecran; asta este lucrare personalizată de la început.

Joacă demo-ul Pip Club și cumpără licența

Ai nevoie de alt set de reguli sau de mai multe licențe? Cere o ofertă