Kildekode til dominospill: regler, datamotstandere og 58 tester
Hva Pip Club Dominoes-pakken inneholder, hvilke regler den spiller, hvor du endrer tekster og brikker, og hva den ikke har med.

Kildekode til dominospill ser enkel ut helt til du sjekker kantsituasjonene. Hvem åpner når ingen har en dobbel? Hva skjer når haugen er tom og begge spillerne passer? Hvordan fungerer poengene på slutten av en blokkert runde? En mal som svarer på disse spørsmålene i koden, og beviser det med tester, er verdt mer enn en med pyntigere brikker. Pip Club Dominoes, vår mal for dobbel-seks, leveres med 58 automatiske tester som dekker reglene, datamotstanderen, bordoppsettet, lagring og de 14 oversettelsene.
Denne guiden forklarer hvilke regler spillet følger, hvordan pakken er organisert, hva du kan endre med en tekstredigerer og hva som krever ny bygging, hvordan du hoster den, og hva lisensen tillater. Filnavnene kommer fra den illustrerte kjøpsguiden som følger med produktet.
Ett punkt å vite før alt annet: Pip Club spilles mot datamaskinen. Det finnes ingen nettbasert modus og ingen modus for to spillere på én enhet.
Reglene denne kildekoden til dominospill spiller
Regler er der dominomaler skiller seg mest, så sjekk dem mot det spillerne forventer. Pip Club spiller et klassisk blokkspill med dobbel seks, én spiller mot én datamotstander.
- 28 brikker fra 0 til 6. Hver spiller får 7, og de andre 14 blir liggende i haugen (boneyard).
- Den høyeste dobbelen åpner. Uten dobbler åpner den høyeste summen, og ved likhet den høyeste halvdelen.
- Bordet har alltid to ender, A og B. En brikke må passe til en ende, og null passer til null.
- Dobbler kan ligge på tvers, men de forgrener seg aldri og gir aldri en ekstra tur.
- Uten treff trekker du én brikke om gangen til du kan spille. Med tom haug og ingen treff passer du.
- Domino: den som tømmer hånden sin, får poeng lik summen som gjenstår i motstanderens hånd.
- Lock: to pass på rad med tom haug låser bordet. Den laveste summen vinner differansen, og lik sum gir uavgjort.
En Quick Round (hurtigrunde) slutter etter én runde. En Points Match (poengkamp) spiller runder til noen når 50 eller 100. Kampanjen har 9 møter i 3 kapitler, ett per møteplass, og hver seier gir et segl.
Hva som følger med i pakken
Spillerne møter tre datamotstandere med egen personlighet: Rico the DJ, en vaskebjørn-DJ, Faísca, en skater-rev, og Nix, en kunstnerkatt, hver på Easy (lett), Normal eller Hard (vanskelig). Spillbare brikker lyser, bordet viser hvor en brikke vil havne, og et hint foreslår et trekk. Det finnes tre møteplasser (Rooftop, Skate Park og Midnight Arcade), seks samlbare brikkesett, kampsegl og statistikk. Mus, berøring og tastatur fungerer alle.
- game/: den ferdige versjonen klar for hosting, med index.html, pip.config.js, modules/, lib/, assets/ og licenses/.
- game/lib/phaser.js: Phaser 3.90.0, lesbar, under MIT-lisensen.
- source/: den redigerbare TypeScript-koden, grafikk, musikk, oversettelser og de automatiske testene.
- documentation/index.html og DOCUMENTATION.html: kjøpsguiden på 14 språk, som åpnes offline.
- THIRD-PARTY-LICENSES/: merknader for Phaser og skrifttypen Barlow Condensed.
Grafikk og musikk er originale ressurser i produktet, lisensiert til kjøperen sammen med produktet. Grensesnittet finnes på 14 språk og følger nettleserens språk; det finnes ingen innspilt stemme, så hver replikk fra motstanderne følger det valgte språket.
Se Pip Club Dominoes: demo, guide og pris
Endre uten ny bygging: pip.config.js
Ved siden av index.html ligger pip.config.js. Åpne den i en hvilken som helst tekstredigerer, endre en verdi, last filen opp og last siden på nytt. Tre innstillinger ligger der.
- title: tittelen i nettleserfanen.
- saveKey: navnet fremgangen lagres under. Standarden er pip-club.
- defaultLanguage: startspråket. Hvis det er tomt, følger spillet nettleseren.
Behold saveKey uendret på en live side. En annen nøkkel får spillet til å ignorere eksisterende fremgang og starte en ny lagring, noe som er nyttig for en andre kopi og smertefullt for en oppdatering.
Hvor tekster, grafikk og brikker ligger i kildekoden
- Tekster og oversettelser: source/src/ui/i18n.ts og source/src/ui/locales/.
- Figurgrafikk, scener og logo: source/src/assets/club/.
- Musikk: source/src/assets/music/.
- Brikkefarger: source/src/art/palette.ts og source/src/art/tileArt.ts.
- Tester: source/tests/.
En typisk merkejobb går i denne rekkefølgen: logoen og scenegrafikken i assets/club/, så brikkepaletten, og deretter ordene i språkfilene. White label er tillatt, så ditt merke kan erstatte vårt. Å endre datamotstanderens spill eller en regel er en dypere jobb; kjør testene før og etter, fordi de dekker begge deler.
Hvis du bygger en liten katalog med bordspill, passer to andre av malene våre ved siden av denne.
Ludo Cats: Ludo med kattunger, datamotstander på tre nivåer eller venner på én enhet
Boba Club: Klondike-solitaire med en kampanje på 12 deler
Bygg på nytt etter at du har redigert TypeScript
Mappen game/ er allerede bygget, så å installere spillet krever ikke Node.js. Du trenger det bare etter at du har endret kildekoden.
- Installer Node.js 22.12 eller nyere (guiden ble testet med 22.23). npm følger med.
- Åpne en terminal i source/, der package.json og package-lock.json ligger.
- Kjør npm ci. Den installerer de nøyaktige, låste versjonene av Phaser, Vite, Vitest og TypeScript.
- Kjør npm test (58 tester) og npm run typecheck. Rett feil før du bygger.
- Kjør npm run build. Resultatet ligger i source/dist-static/, med index.html, modules/, lib/, assets/ og licenses/.
- Ta en sikkerhetskopi av det hostede spillet, og last deretter opp innholdet i dist-static/ akkurat som game/.
Guiden advarer mot npm audit fix og npm update, fordi de endrer de testede versjonene. Hvis det dukker opp et pakkeproblem, gjenopprett package.json og package-lock.json-paret som fulgte med.
Hosting på nettstedet ditt
Last bare opp innholdet i game/, slik at index.html ligger direkte i målmappen, for eksempel public_html/games/pip-club/. Behold assets/, lib/, modules/, licenses/ og pip.config.js ved siden av den, og behold store og små bokstaver i alle navn. Ikke last opp source/, documentation/ eller ZIP-filen.
- Enhver statisk HTTP(S)-host fungerer, i en hvilken som helst undermappe på et hvilket som helst domene, fordi spillet bruker relative stier.
- Ingen database, PHP- eller Node.js-tjeneste trengs for å spille.
- Å åpne index.html fra datamaskinen din (file://) støttes ikke.
- Hosten må servere .js-, .webp-, .woff2- og .mp3-filer med vanlige filtyper.
- Spillet gjør ingen kall til analyse, rangering, betaling eller reklame.
Lagringene blir i spillerens nettleser, i IndexedDB eller localStorage, og synkroniseres ikke mellom enheter. For å oppdatere laster du den nye game/ opp over den gamle, beholder pip.config.js og saveKey, og tømmer hurtigbufferen for filer heller enn nettstedets data hvis den gamle versjonen fortsatt vises.
Hva den ikke inkluderer, og lisensen
Utgaven har ingen nettbasert eller lokal modus for to spillere, ingen skylagring, ingen nettbasert rangering, ingen kjøp med ekte penger og ingen reklame-SDK. Native apper, hosting og spesialutvikling er også utenfor pakken. Å legge til annonser, en butikk eller synkronisering er utviklerarbeid som krever dine egne kontoer og godkjenninger.
Pip Club koster 49 USD, som blir 41,65 USD med Black Friday-kampanjen til og med 30. november 2026; en pakkerabatt på 5 % til 20 % gjelder når du kjøper to eller flere maler sammen. Lisensen er evig og ikke-eksklusiv, for ett sluttprodukt, ditt eller én kundes. Du kan endre koden, grafikken og lyden, sette ditt merke på det og la spillere spille gratis eller med annonser, men du kan ikke videreselge malen eller koden alene. Støtten varer i seks måneder, eller tolv med tillegget; alt utover installasjon og retting av feil gis tilbud på.
Les lisens- og støttevilkårene
Vanlige spørsmål
Er kildekoden til dominospillet i TypeScript eller JavaScript?
Kilden er lesbar, uminifisert TypeScript. Mappen game/, klar for hosting, er den bygde JavaScript-versjonen, så du trenger bare TypeScript-verktøy for å endre spillet.
Kan to personer spille mot hverandre?
Nei. Spillerne møter datamotstanderne på én enhet. Det finnes ingen nettbasert eller lokal modus for to spillere.
Hvilken dominovariant spiller den?
Klassisk dobbel-seks, én mot én, med trekk fra haugen, pass og en låseregel. Domino gir poeng lik motstanderens gjenværende sum, og et låst bord går til den laveste summen.
Hva kan jeg endre uten å bygge på nytt?
pip.config.js setter tittelen i nettleseren, lagringsnøkkelen og startspråket. Regler, grafikk, tekster og musikk endres i kildekoden og krever ny bygging.
Fungerer det offline?
Det kaller ingen eksterne tjenester, men det er ikke en app som kan installeres for offline bruk. Spillerne må nå nettadressen din for å laste den.
Er dette dominobasen du trenger?
Pip Club passer for en side eller et portal som vil ha et klassisk bordspill for alle aldre, et studio som bygger et merket dominospill for én kunde, og en utvikler som vil ha lesbar TypeScript med en datamotstander og ekte enhetstester. Den passer ikke for et prosjekt der folk skal spille mot hverandre, på nettet eller på én skjerm; det er spesialarbeid fra start.
Spill Pip Club-demoen og kjøp lisensen
Trenger du et annet regelsett eller flere lisenser? Be om tilbud
