Dominode mängu lähtekood: reeglid, arvutivastased ja 58 testi
Mida Pip Club Dominoes pakett sisaldab, milliseid reegleid ta mängib, kus tekste ja kive saab muuta ning mida see välja jätab.

Dominode mängu lähtekood tundub lihtne, kuni vaatad servajuhtumeid. Kes alustab, kui keegi ei oma topeltkivi? Mis juhtub, kui varuhunnik on tühi ja mõlemad mängijad passivad? Kuidas töötab skoor blokeeritud vooru lõpus? Mall, mis vastab neile küsimustele koodis ja tõestab seda testidega, on rohkem väärt kui see, mille kivid on ilusamad. Pip Club Dominoes, meie topeltkuue mall, sisaldab 58 automaattesti, mis katavad reegleid, arvutivastast, laua paigutust, salvestamist ja 14 tõlget.
See juhend selgitab, milliseid reegleid mäng mängib, kuidas pakett on korraldatud, mida saab muuta tekstiredaktoriga ja mis vajab uuesti ehitamist, kuidas hostida ning mida litsents lubab. Failinimed pärinevad pakendiga kaasasolevast illustreeritud ostjajuhendist.
Üks asi enne kõike: Pip Clubi mängitakse arvuti vastu. Sellel ei ole võrgurežiimi ega kahe mängija režiimi ühel seadmel.
Reeglid, mida see dominode mängu lähtekood mängib
Reeglid on koht, kus dominomallid kõige rohkem erinevad, seega kontrolli neid selle järgi, mida su mängijad ootavad. Pip Club mängib klassikalist topeltkuue kivimängu, üks mängija vastu üks arvutivastane.
- 28 kivi 0-st 6-ni. Iga mängija saab 7 ja ülejäänud 14 jäävad varuhunnikusse (boneyard).
- Kõrgeim topelt alustab. Topeltkivide puudumisel alustab kõrgeim kogusumma ja viigi korral kõrgeim pool.
- Laual on alati kaks otsa, A ja B. Kivi peab sobima otsaga ning null sobib nulliga.
- Topeltkivid võivad olla risti, aga need ei hargne ega anna lisakäiku.
- Kui sobivust pole, tõmba üks kivi korraga, kuni saad käia. Kui varuhunnik on tühi ja sobivust pole, passi.
- Domino: kes tühjendab oma käe, saab skoori, mis on teise mängija käes olev kogusumma.
- Lukustus (Lock): kaks passi järjest tühja varuhunnikuga lukustavad laua. Madalam kogusumma võidab vahe, võrdsed summad annavad viigi.
Quick Round (kiirvoor) lõpeb pärast ühte vooru. Points Match (punktimäng) mängib vooru, kuni keegi jõuab 50 või 100 punktini. Kampaanias on 9 kohtumist 3 peatükis, üks iga hangouti kohta, ja iga võit teenib pitsati.
Mida pakett sisaldab
Mängijad seisavad silmitsi kolme arvutivastasega, igaühel oma iseloom: Rico, DJ-pesukaru; Faísca, rulakas-rebane; ja Nix, kunstnikust kass. Igaüks on tasemel Easy (lihtne), Normal (tavaline) või Hard (raske). Mängitavad kivid helendavad, laud näitab eelvaadet, kuhu kivi maandub, ja vihje soovitab käiku. Hangouti on kolm (Rooftop, Skate Park ja Midnight Arcade), kuus kogutavat kivikomplekti, kampaania pitsatid ja statistika. Hiir, puute ja klaviatuur töötavad kõik.
- game/: valmis hostitav build, index.html, pip.config.js, modules/, lib/, assets/ ja licenses/.
- game/lib/phaser.js: Phaser 3.90.0, loetav, MIT litsentsi all.
- source/: muudetav TypeScript, kunst, muusika, tõlked ja automaattestid.
- documentation/index.html ja DOCUMENTATION.html: ostjajuhend 14 keeles, mis avaneb võrguühenduseta.
- THIRD-PARTY-LICENSES/: teated Phaseri ja Barlow Condensed fondi kohta.
Kunst ja muusika on toote originaalsed varad, mis litsentsitakse ostjale koos tootega. Liides on 14-keelne ja järgib brauseri keelt; häält pole salvestatud, seega iga vastase repliik järgib valitud keelt.
Vaata Pip Club Dominoesi: demo, juhend ja hind
Muuda ilma ehituseta: pip.config.js
index.html kõrval asub pip.config.js. Ava see mis tahes tekstiredaktoriga, muuda väärtust, lae fail üles ja lae leht uuesti. Seal on kolm seadistust.
- title: brauseri vahekaardi pealkiri.
- saveKey: nimi, mille all salvestus hoitakse. Vaikimisi on pip-club.
- defaultLanguage: alguskeel. Kui jätta tühjaks, järgib mäng brauserit.
Hoia saveKey elaval saidil muutmata. Erinev võti paneb mängu eirama olemasolevat edenemist ja alustama uut salvestust; see on kasulik teise koopia puhul ja valus uuendamise puhul.
Kus tekstid, kunst ja kivid lähtekoodis asuvad
- Tekstid ja tõlked: source/src/ui/i18n.ts ja source/src/ui/locales/.
- Tegelaste kunst, stseenid ja logo: source/src/assets/club/.
- Muusika: source/src/assets/music/.
- Kivide värvid: source/src/art/palette.ts ja source/src/art/tileArt.ts.
- Testid: source/tests/.
Tüüpiline brändimistöö käib selles järjekorras: logo ja stseenikunst kaustas assets/club/, siis kivipalett, siis sõnastus lokaalides. Valge märgi kasutamine on lubatud, nii et sinu bränd võib asendada meie oma. Arvuti mängu või reegli muutmine on sügavam töö; käivita testid enne ja pärast, sest need katavad mõlemat.
Kui ehitad väikest lauamängude kataloogi, sobivad selle kõrvale kaks meie teist malli.
Ludo Cats: Ludo kassipoegadega, arvuti kolmel tasemel või sõbrad ühel seadmel
Boba Club: Klondike solitaire 12 jaotuse kampaaniaga
Uuesti ehitamine pärast TypeScripti muutmist
Kaust game/ on juba ehitatud, seega mängu paigaldamine ei vaja Node.js-i. Seda on vaja ainult pärast lähtekoodi muutmist.
- Paigalda Node.js 22.12 või uuem (juhend testiti versiooniga 22.23). Npm tuleb kaasa.
- Ava terminal kaustas source/, kus on package.json ja package-lock.json.
- Käivita npm ci. See paigaldab täpselt lukustatud versioonid Phaserist, Vite'ist, Vitest'ist ja TypeScriptist.
- Käivita npm test (58 testi) ja npm run typecheck. Paranda vead enne ehitamist.
- Käivita npm run build. Väljund on kaustas source/dist-static/, kus on index.html, modules/, lib/, assets/ ja licenses/.
- Varunda hostitud mäng ja laadi dist-static/ sisu üles täpselt nagu game/.
Juhend hoiatab npm audit fix ja npm update eest, sest need muudavad testitud versioone. Kui pakettide probleem ilmneb, taasta kaasasolev package.json ja package-lock.json paar.
Hostimine oma saidil
Laadi üles ainult game/ sisu, nii et index.html on sihtkaustas otse, näiteks public_html/games/pip-club/. Hoia assets/, lib/, modules/, licenses/ ja pip.config.js kõrvuti ning hoia iga nime tähesuurus täpselt samana. Ära lae üles source/, documentation/ ega ZIP-faili.
- Sobib iga staatiline HTTP(S) host, mis tahes alamkaustas mis tahes domeenil, sest mäng kasutab suhtelisi teid.
- Mängimiseks ei ole vaja andmebaasi, PHP-d ega Node.js-teenust.
- Index.html avamine arvutist (file://) ei ole toetatud.
- Host peab serveerima .js, .webp, .woff2 ja .mp3 faile tavaliste tüüpidega.
- Mäng ei tee analüütika-, edetabeli-, makse- ega reklaamikõnesid.
Salvestused jäävad mängija brauserisse, IndexedDB-sse või localStorage'isse, ja neid ei sünkroonita seadmete vahel. Uuendamiseks laadi uus game/ vana peale, hoia pip.config.js ja selle saveKey, ning kui vana versioon ikka näidatakse, tühjenda vahemällu salvestatud failid, mitte saidi andmeid.
Mida see välja jätab ja litsents
Väljaandes ei ole võrgu- ega kohaliku kahe mängija režiimi, pilvesalvestusi, võrgus edetabelit, rahaliselt ostetavaid asju ega reklaami SDK-d. Natiivsed rakendused, hosting ja kohandatud arendus on samuti paketist väljas. Reklaamide, poe või sünkroonimise lisamine on arendajatöö, mis vajab sinu enda kontosid ja lubasid.
Pip Club maksab listhinnaga 49 USA dollarit, mis on kuni 30. novembrini 2026 Black Friday promo ajal 41,65 USA dollarit; komplektisoodustus 5–20% rakendub, kui ostad kaks või enam malli korraga. Litsents on igavesti kehtiv ja mitteeksklusiivne, ühe lõpptoote jaoks, sinu või ühe kliendi oma. Võid muuta koodi, kunsti ja heli, panna oma brändi ning lasta mängijad tasuta või reklaamidega sisse, aga malli ega selle koodi eraldi edasi müüa ei tohi. Tugi kestab kuus kuud või kaksteist koos laiendusega; kõik peale paigaldamise ja vigade parandamise on pakkumise alusel.
Loe litsentsi- ja toetingimusi
Korduma kippuvad küsimused
Kas dominode mängu lähtekood on TypeScript või JavaScript?
Lähtekood on loetav, minifitseerimata TypeScript. Valmis hostitav game/ kaust on ehitatud JavaScript, seega TypeScripti tööriistu vajad ainult mängu muutmiseks.
Kas kaks inimest saavad üksteise vastu mängida?
Ei. Mängijad seisavad arvutivastaste vastu ühel seadmel. Võrgurežiimi ega kohalikku kahe mängija režiimi ei ole.
Millist dominovarianti see mängib?
Klassikalist topeltkuue varianti, üks vastu üks, varuhunnikust tõmbamise, passimise ja lukustusreegliga. Domino annab vastase järelejäänud summa skoorina ja lukustatud laud läheb madalama summaga mängijale.
Mida saab muuta ilma uuesti ehitamata?
pip.config.js määrab brauseri pealkirja, salvestusvõtme ja alguskeele. Reegleid, kunsti, tekste ja muusikat muudetakse lähtekoodis ja need vajavad uuesti ehitamist.
Kas see töötab võrguühenduseta?
See ei kutsu välisteenuseid, kuid ei ole installitav võrguvaba rakendus. Mängijad peavad jõudma sinu veebiaadressile, et seda laadida.
Kas see on dominode aluseks, mida vajad?
Pip Club sobib saidile või portaalile, mis tahab klassikalist lauamängu kõigile vanustele, stuudiole, kes ehitab bränditud dominomängu ühele kliendile, ja arendajale, kes tahab loetavat TypeScripti koos arvutivastase ja päris ühikutestidega. See ei sobi projektile, kus inimesed peavad üksteise vastu mängima, võrgus või ühel ekraanil; see on kohandustöö algusest peale.
Mängi Pip Clubi demot ja osta litsents
Vajad teistsugust reeglistikku või mitut litsentsi? Küsi pakkumist
