Guide

Källkod till dominospel: regler, datormotståndare och 58 tester

Vad Pip Club Dominoes-paketet innehåller, vilka regler det spelar, var du ändrar texter och brickor och vad det lämnar utanför.

Pip Club Dominoes-grafik: en tvättbjörn, en räv och en svart katt i huvtröjor ler runt ett runt bord med tre dominobrickor i solnedgången.

Källkod till dominospel ser enkel ut tills du kontrollerar kantfallen. Vem öppnar när ingen har en dubbel? Vad händer när lagret är tomt och båda spelarna passar? Hur fungerar poängen i slutet av en blockerad omgång? En mall som svarar på de frågorna i kod, och bevisar det med tester, är värd mer än en med snyggare brickor. Pip Club Dominoes, vår dubbel-sex-mall, levereras med 58 automatiska tester som täcker reglerna, datormotståndaren, bordsuppställningen, sparande och de 14 översättningarna.

Den här guiden förklarar vilka regler spelet följer, hur paketet är organiserat, vad du kan ändra med en textredigerare och vad som kräver en ny byggning, hur du hostar det och vad licensen tillåter. Filnamnen kommer från den illustrerade köparguiden som ingår i objektet.

En sak att veta före allt annat: Pip Club spelas mot datorn. Det har inget onlineläge och inget tvåspelarläge på en enhet.

Reglerna som den här källkoden till dominospel spelar

Reglerna är där domino-mallar skiljer sig mest, så kontrollera dem mot vad dina spelare förväntar sig. Pip Club spelar ett klassiskt dubbel-sex-blockspel, en spelare mot en datormotståndare.

  • 28 brickor från 0 till 6. Varje spelare får 7 och de övriga 14 ligger kvar i lagret.
  • Den högsta dubbeln öppnar. Utan dubbletter öppnar den högsta summan, och vid lika, den högsta halvan.
  • Bordet har alltid två ändar, A och B. En bricka måste matcha en ände, och noll matchar noll.
  • Dubbletter får ligga tvärs, men de förgrenar sig aldrig och ger aldrig en extra tur.
  • Utan matchning drar du en bricka i taget tills du kan spela. Med tomt lager och ingen matchning passar du.
  • Domino: den som tömmer handen får summan av det som finns kvar i motståndarens hand.
  • Lock (låsning): två pass i rad med tomt lager låser bordet. Lägre summa vinner skillnaden, och lika summor ger oavgjort.

En Quick Round (snabbrunda) slutar efter en omgång. En Points Match (poängmatch) spelar omgångar tills någon når 50 eller 100. Kampanjen har 9 möten i 3 kapitel, ett per samlingsplats, och varje vinst ger ett märke.

Vad som ingår i paketet

Spelarna möter tre datormotståndare med egna personligheter: Rico, DJ-tvättbjörnen, Faísca, skejtarräven, och Nix, konstnärskatten, var och en på Easy (lätt), Normal eller Hard (svår). Spelbara brickor lyser, bordet visar i förhandsvisning var en bricka landar, och en ledtråd föreslår ett drag. Det finns tre samlingsplatser (Rooftop, Skate Park och Midnight Arcade), sex samlingsbara brick-set, kampanjmärken och statistik. Mus, touch och tangentbord fungerar alla.

  • game/: den färdiga versionen för hosting, med index.html, pip.config.js, modules/, lib/, assets/ och licenses/.
  • game/lib/phaser.js: Phaser 3.90.0, läsbar, under MIT-licensen.
  • source/: den redigerbara TypeScript-koden, grafiken, musiken, översättningarna och de automatiska testerna.
  • documentation/index.html och DOCUMENTATION.html: köparguiden på 14 språk, som öppnas offline.
  • THIRD-PARTY-LICENSES/: noticer för Phaser och typsnittet Barlow Condensed.

Grafik och musik är originaltillgångar i produkten, licensierade till köparen med objektet. Gränssnittet finns på 14 språk och följer webbläsarens språk. Det finns ingen inspelad röst, så varje motståndarreplik följer det valda språket.

Se Pip Club Dominoes: demo, guide och pris

Ändra utan byggning: pip.config.js

Bredvid index.html ligger pip.config.js. Öppna den i valfri textredigerare, ändra ett värde, ladda upp filen och ladda om. Tre inställningar finns där.

  • title: webbläsarflikens titel.
  • saveKey: namnet som sparandet lagras under. Standardvärdet är pip-club.
  • defaultLanguage: startspråket. Lämnas tomt följer spelet webbläsaren.

Behåll saveKey oförändrad på en levande sajt. En annan nyckel gör att spelet ignorerar befintliga framsteg och startar ett nytt sparande, vilket är bra för en andra kopia och smärtsamt vid en uppdatering.

Var texter, grafik och brickor finns i källkoden

  • Texter och översättningar: source/src/ui/i18n.ts och source/src/ui/locales/.
  • Karaktärsgrafik, scener och logotyp: source/src/assets/club/.
  • Musik: source/src/assets/music/.
  • Brickfärger: source/src/art/palette.ts och source/src/art/tileArt.ts.
  • Tester: source/tests/.

Ett vanligt varumärkesjobb går i den här ordningen: logotypen och scengrafiken i assets/club/, sedan brickpaletten och sist orden i språkfilerna. White label är tillåtet, så ditt varumärke kan ersätta vårt. Att ändra datorns spel eller en regel är ett djupare jobb; kör testerna före och efter, eftersom de täcker båda.

Om du bygger en liten katalog med bordsspel passar två andra av våra mallar bredvid den här.

Ludo Cats: Ludo med kattungar, dator på tre nivåer eller vänner på en enhet

Boba Club: Klondike-patiens med en kampanj på 12 kortdelningar

Bygga om efter ändring av TypeScript

Mappen game/ är redan byggd, så att installera spelet kräver ingen Node.js. Du behöver det bara efter att du ändrat källkoden.

  1. Installera Node.js 22.12 eller nyare (guiden testades med 22.23). npm följer med.
  2. Öppna en terminal i source/, där package.json och package-lock.json finns.
  3. Kör npm ci. Det installerar de exakta låsta versionerna av Phaser, Vite, Vitest och TypeScript.
  4. Kör npm test (58 tester) och npm run typecheck. Rätta fel innan du bygger.
  5. Kör npm run build. Resultatet hamnar i source/dist-static/, med index.html, modules/, lib/, assets/ och licenses/.
  6. Gör en säkerhetskopia av det hostade spelet och ladda sedan upp innehållet i dist-static/ precis som game/.

Guiden varnar mot npm audit fix och npm update, eftersom de ändrar de testade versionerna. Om ett paketproblem uppstår, återställ det levererade paret package.json och package-lock.json.

Hosting på din sajt

Ladda upp bara innehållet i game/, så att index.html ligger direkt i målmappen, till exempel public_html/games/pip-club/. Behåll assets/, lib/, modules/, licenses/ och pip.config.js bredvid den, och behåll gemener och versaler i varje namn. Ladda inte upp source/, documentation/ eller ZIP-filen.

  • Vilken statisk HTTP(S)-host som helst fungerar, i vilken undermapp som helst på vilken domän som helst, eftersom spelet använder relativa sökvägar.
  • Ingen databas, PHP- eller Node.js-tjänst behövs för att spela.
  • Att öppna index.html från din dator (file://) stöds inte.
  • Hosten måste servera .js, .webp, .woff2 och .mp3 med normala typer.
  • Spelet gör inga anrop för analys, ranking, betalning eller reklam.

Sparningar stannar i spelarens webbläsare, i IndexedDB eller localStorage, och synkroniseras inte mellan enheter. För att uppdatera, ladda upp den nya game/ över den gamla, behåll pip.config.js och dess saveKey, och rensa cachade filer i stället för webbplatsdata om den gamla versionen fortfarande visas.

Vad det inte innehåller, och licensen

Utgåvan har inget onlineläge eller lokalt tvåspelarläge, inga molnsparningar, ingen onlineranking, inga köp för riktiga pengar och ingen reklam-SDK. Native-appar, hosting och anpassad utveckling ligger också utanför paketet. Att lägga till annonser, en butik eller synkronisering är utvecklararbete som kräver egna konton och godkännanden.

Pip Club kostar 49 USD, vilket blir 41,65 USD med Black Friday-kampanjen till och med 30 november 2026. En paketrabatt på 5 % till 20 % gäller när du köper två eller fler mallar tillsammans. Licensen är evig och icke-exklusiv, för en slutprodukt, din egen eller en kunds. Du får ändra koden, grafiken och ljudet, sätta ditt varumärke på den och låta spelare komma in gratis eller med reklam, men du får inte sälja mallen eller dess kod på egen hand. Supporten varar sex månader, eller tolv med tillägget; allt utöver installation och rättning av fel offereras.

Läs licens- och supportvillkoren

Vanliga frågor

Är källkoden till dominospelet TypeScript eller JavaScript?

Källkoden är läsbar, ominifierad TypeScript. Den färdiga mappen game/ är den byggda JavaScript-koden, så du behöver bara TypeScript-verktyg för att ändra spelet.

Kan två personer spela mot varandra?

Nej. Spelarna möter datormotståndarna på en enhet. Det finns varken onlineläge eller lokalt tvåspelarläge.

Vilken dominovariant spelar den?

Klassisk dubbel-sex, en mot en, med dragning från lagret, pass och en låsregel. Domino ger den återstående summan hos motståndaren, och ett låst bord går till den lägre summan.

Vad kan jag ändra utan att bygga om?

pip.config.js anger webbläsarens titel, sparnyckeln och startspråket. Regler, grafik, texter och musik ändras i källkoden och kräver en ny byggning.

Fungerar det offline?

Det anropar inga externa tjänster, men det är ingen installerbar offlineapp. Spelarna behöver nå din webbadress för att ladda det.

Är det här dominobasen du behöver?

Pip Club passar en sajt eller portal som vill ha ett klassiskt bordsspel för alla åldrar, en studio som bygger ett varumärkt dominospel för en kund, och en utvecklare som vill ha läsbar TypeScript med en datormotståndare och riktiga enhetstester. Det passar inte ett projekt som behöver att folk spelar mot varandra, online eller på en skärm; det är specialarbete från början.

Spela Pip Club-demon och köp licensen

Behöver du en annan regeluppsättning eller flera licenser? Begär en offert