Vadovas

Domino žaidimo šaltinio kodas: taisyklės, priešininkai ir 58 testai

Ką apima Pip Club Dominoes paketas, kokias taisykles jis žaidžia, kur keisti tekstus ir plyteles bei ko jame nėra.

Pip Club Dominoes iliustracija: meškėnas, lapė ir juodas katinas su gobtuvais šypsosi aplink apvalų stalą, o ant jo trys domino plytelės saulėlydžio metu.

Domino žaidimo šaltinio kodas atrodo paprastas, kol nepatikrinate kraštutinių atvejų. Kas pradeda, kai niekas neturi dubleto? Kas nutinka, kai kaulų krūva tuščia ir abu žaidėjai praleidžia? Kaip skaičiuojami taškai užblokuoto raundo pabaigoje? Šablonas, kuris atsako į šiuos klausimus kode ir tai įrodo testais, verta daugiau nei tas, kuris turi gražesnes plyteles. Pip Club Dominoes, mūsų dvigubo šešto šablonas, turi 58 automatinius testus, kurie apima taisykles, kompiuterio priešininką, stalo išdėstymą, išsaugojimą ir 14 vertimų.

Šis vadovas paaiškina, kokias taisykles žaidimas žaidžia, kaip paketas sutvarkytas, ką galite pakeisti tekstų redaktoriumi, o ką reikia perstatyti, kaip jį talpinti ir ką leidžia licencija. Failų pavadinimai paimti iš iliustruoto pirkėjo vadovo, kuris pateikiamas su prekė.

Viena dalis, kurią reikia žinoti prieš viską kitą: Pip Club žaidžiamas prieš kompiuterį. Jame nėra internetinio režimo ir dviejų žaidėjų režimo viename įrenginyje.

Šis domino žaidimo šaltinio kodas žaidžia šias taisykles

Taisyklės yra tai, kuo domino šablonai labiausiai skiriasi, todėl patikrinkite jas su tuo, ko tikisi jūsų žaidėjai. Pip Club žaidžia klasikinį dvigubo šešto plytelių žaidimą, vienas žaidėjas prieš vieną kompiuterio priešininką.

  • 28 plytelės nuo 0 iki 6. Kiekvienas žaidėjas gauna po 7, o kitos 14 lieka kaulų krūvoje.
  • Aukščiausias dubletas pradeda. Jei dublečių nėra, pradeda didžiausia suma, o lygiųjų atveju – didžiausia pusė.
  • Stalas visada turi du galus, A ir B. Plytelė turi atitikti galą, o nulis atitinka nulį.
  • Dubletai gali būti padėti skersai, bet niekada nesišakoja ir neduoda papildomo ėjimo.
  • Jei atitikimo nėra, traukite po vieną plytelę, kol galėsite žaisti. Kai kaulų krūva tuščia ir atitikimo nėra, praleidžiate.
  • Domino: kas ištuština savo ranką, surenka sumą, likusią priešininko rankoje.
  • Lock (užraktas): du pasai iš eilės, kai kaulų krūva tuščia, užrakina stalą. Mažesnė suma laimi skirtumą, o lygios sumos – lygiosios.

Quick Round (greitas raundas) baigiasi po vieno raundo. Points Match (taškų dvikova) žaidžia raundus, kol kas nors pasiekia 50 ar 100. Kampanijoje yra 9 susitikimai 3 skyriuose, po vieną kiekvienai vietai, o kiekviena pergalė duoda antspaudą.

Ką apima paketas

Žaidėjai susiduria su trimis kompiuterio priešininkais, kiekvienas su savo asmenybe: Rico DJ meškėnas, Faísca slidininkė lapė ir Nix menininkė katė, kiekvienas lygiu Easy (lengvas), Normal (normalus) ar Hard (sunkus). Žaidžiamos plytelės šviečia, stalas parodo, kur plytelė nusileis, o užuomina siūlo ėjimą. Yra trys vietos (Rooftop, Skate Park ir Midnight Arcade), šeši kolekcinių plytelių rinkiniai, kampanijos antspaudai ir statistika. Veikia pele, jutikliu ir klaviatūra.

  • game/: paruoštas talpinimui žaidimas su index.html, pip.config.js, modules/, lib/, assets/ ir licenses/.
  • game/lib/phaser.js: Phaser 3.90.0, skaitomas, pagal MIT licenciją.
  • source/: redaguojamas TypeScript, dailė, muzika, vertimai ir automatiniai testai.
  • documentation/index.html ir DOCUMENTATION.html: pirkėjo vadovas 14 kalbų, kuris atsidaro neprisijungus.
  • THIRD-PARTY-LICENSES/: pranešimai apie Phaser ir Barlow Condensed šriftą.

Dailė ir muzika yra produkto originalūs turtai, licencijuojami pirkėjui kartu su prekė. Sąsaja yra 14 kalbų ir seka naršyklės kalbą; įrašyto balso nėra, todėl kiekviena priešininko eilutė seka pasirinktą kalbą.

Žiūrėti Pip Club Dominoes: demonstraciją, vadovą ir kainą

Keiskite be perstatymo: pip.config.js

Šalia index.html yra pip.config.js. Atidarykite jį bet kuriuo teksto redaktoriumi, pakeiskite reikšmę, įkelkite failą ir perkraukite puslapį. Ten yra trys nustatymai.

  • title: naršyklės skirtuko pavadinimas.
  • saveKey: pavadinimas, pagal kurį išsaugomas įrašas. Numatytasis yra pip-club.
  • defaultLanguage: pradinė kalba. Jei tuščia, žaidimas seka naršyklę.

Gyvoje svetainėje palikite saveKey nepakeistą. Kitas raktas verčia žaidimą ignoruoti esamą pažangą ir pradėti naują įrašą, kas patogu antrai kopijai ir skausminga atnaujinimui.

Kur tekstai, dailė ir plytelės yra šaltinyje

  • Tekstai ir vertimai: source/src/ui/i18n.ts ir source/src/ui/locales/.
  • Veikėjų dailė, scenos ir logotipas: source/src/assets/club/.
  • Muzika: source/src/assets/music/.
  • Plytelių spalvos: source/src/art/palette.ts ir source/src/art/tileArt.ts.
  • Testai: source/tests/.

Tipinis prekės ženklo darbas eina tokia tvarka: logotipas ir scenos dailė assets/club/ aplanke, tada plytelių paletė, o tada tekstai locales. White label leidžiamas, todėl jūsų prekės ženklas gali pakeisti mūsų. Kompiuterio žaidimo ar taisyklės keitimas yra gilesnis darbas; paleiskite testus prieš ir po, nes jie apima abu.

Jei kuriate nedidelį stalo žaidimų katalogą, šalia šio tinka dar du mūsų šablonai.

Ludo Cats: Ludo su kačiukais, kompiuteris trijuose lygiuose ar draugai viename įrenginyje

Boba Club: Klondike pasjansas su 12 išdėstymų kampanija

Perstatymas po TypeScript redagavimo

Aplankas game/ jau sukompiliuotas, todėl žaidimo įdiegimui Node.js nereikia. Jis reikalingas tik pakeitus šaltinį.

  1. Įdiekite Node.js 22.12 ar naujesnę versiją (vadovas išbandytas su 22.23). npm ateina kartu.
  2. Atidarykite terminalą source/ aplanke, kur yra package.json ir package-lock.json.
  3. Paleiskite npm ci. Tai įdiegia tiksliai užrakintas Phaser, Vite, Vitest ir TypeScript versijas.
  4. Paleiskite npm test (58 testai) ir npm run typecheck. Prieš perstatydami ištaisykite klaidas.
  5. Paleiskite npm run build. Rezultatas yra source/dist-static/, su index.html, modules/, lib/, assets/ ir licenses/.
  6. Padarykite talpinamo žaidimo atsarginę kopiją, tada įkelkite dist-static/ turinį lygiai taip, kaip game/.

Vadovas perspėja nenaudoti npm audit fix ir npm update, nes jie pakeičia išbandytas versijas. Jei atsiranda paketo problema, atkurkite pateiktą package.json ir package-lock.json porą.

Talpinimas jūsų svetainėje

Įkelkite tik game/ turinį, kad index.html būtų tiesiogiai tikslo aplanke, pavyzdžiui, public_html/games/pip-club/. Šalia laikykite assets/, lib/, modules/, licenses/ ir pip.config.js ir išlaikykite kiekvieno pavadinimo raidžių dydį. Neįkelkite source/, documentation/ ar ZIP.

  • Bet koks statinis HTTP(S) talpinimas veikia, bet kuriame bet kurio domeno poaplankyje, nes žaidimas naudoja santykinius kelius.
  • Žaisti nereikia duomenų bazės, PHP ar Node.js paslaugos.
  • Atidaryti index.html iš kompiuterio (file://) nepalaikoma.
  • Talpinimas turi teikti .js, .webp, .woff2 ir .mp3 failus su įprastais tipais.
  • Žaidimas neatlieka analitikos, reitingo, mokėjimo ar reklamos užklausų.

Įrašai lieka žaidėjo naršyklėje, IndexedDB ar localStorage, ir nesinchronizuojami tarp įrenginių. Norėdami atnaujinti, įkelkite naują game/ virš seno, palikite pip.config.js ir jo saveKey, o jei senas variantas dar rodomas, išvalykite talpyklos failus, o ne svetainės duomenis.

Ko nėra ir licencija

Leidime nėra nei internetinio, nei vietinio dviejų žaidėjų režimo, debesies išsaugojimų, internetinio reitingo, realių pinigų pirkimų ar reklamos SDK. Natyvios programėlės, talpinimas ir individualus kūrimas taip pat neįeina į paketą. Skelbimų, parduotuvės ar sinchronizacijos įdėjimas yra programuotojo darbas, kuriam reikia jūsų paskyrų ir patvirtinimų.

Pip Club kainuoja 49 USD, o Juodojo penktadienio akcija iki 2026 m. lapkričio 30 d. ją sumažina iki 41,65 USD; paketo nuolaida nuo 5 % iki 20 % taikoma, kai perkate du ar daugiau šablonų kartu. Licencija neribota ir neekskliuzyvi, vienam galutiniam produktui, jums arba vienam klientui. Galite keisti kodą, dailę ir garsą, uždėti savo prekės ženklą ir leisti žaidėjams žaisti nemokamai ar su reklama, tačiau šablono ar jo kodo atskirai perparduoti negalite. Palaikymas trunka šešis mėnesius arba dvylika su pratęsimu; viskas, kas viršija diegimą ir defektų taisymą, įvertinama atskirai.

Skaityti licencijos ir palaikymo sąlygas

Dažnai užduodami klausimai

Ar domino žaidimo šaltinio kodas yra TypeScript ar JavaScript?

Šaltinis yra skaitomas, nesuspaustas TypeScript. Paruoštas talpinimui game/ aplankas yra sukompiliuotas JavaScript, todėl TypeScript įrankių reikia tik žaidimui keisti.

Ar du žmonės gali žaisti vienas prieš kitą?

Ne. Žaidėjai žaidžia prieš kompiuterio priešininkus viename įrenginyje. Nėra nei internetinio, nei vietinio dviejų žaidėjų režimo.

Kokį domino variantą jis žaidžia?

Klasikinį dvigubo šešto, vienas prieš vieną, su traukimu iš kaulų krūvos, praleidimu ir užrakto taisykle. Domino surenka priešininko likusią sumą, o užrakintas stalas atitenka mažesnei sumai.

Ką galiu pakeisti be perstatymo?

pip.config.js nustato naršyklės pavadinimą, išsaugojimo raktą ir pradinę kalbą. Taisykles, dailę, tekstus ir muziką keičiate šaltinyje, ir jiems reikia perstatymo.

Ar veikia neprisijungus?

Jis neskambina į išorines paslaugas, bet tai nėra įdiegiama programa neprisijungus. Žaidėjai turi pasiekti jūsų svetainės adresą, kad jį įkeltų.

Ar tai domino pagrindas, kurio jums reikia?

Pip Club tinka svetainei ar portalui, norinčiam klasikinio stalo žaidimo visoms amžiaus grupėms, studijai, kuriančiai prekės ženklo domino žaidimą vienam klientui, ir programuotojui, norinčiam skaitomo TypeScript su kompiuterio priešininku ir tikrais vienetų testais. Jis netinka projektui, kuriam reikia, kad žmonės žaistų vienas prieš kitą, internetu ar viename ekrane; tai individualus darbas nuo pradžių.

Žaisti Pip Club demonstraciją ir įsigyti licenciją

Reikia kitokio taisyklių rinkinio ar kelių licencijų? Prašykite pasiūlymo