Kod sumber permainan domino: peraturan, lawan CPU dan 58 ujian
Apa yang ada dalam pakej Pip Club Dominoes, peraturan yang digunakan, di mana mengubah teks dan kepingan, dan apa yang tidak disertakan.

Kod sumber permainan domino nampak mudah sehingga anda menyemak kes-kes tepi. Siapa yang mula jika tiada sesiapa memegang kepingan berkembar? Apa berlaku apabila longgokan kosong dan kedua-dua pemain pas? Bagaimana skor dikira di akhir pusingan yang tersekat? Templat yang menjawab soalan itu dalam kod, dan membuktikannya dengan ujian, lebih bernilai daripada templat yang sekadar ada kepingan lebih cantik. Pip Club Dominoes, templat double-six kami, disertakan dengan 58 ujian automatik yang merangkumi peraturan, lawan komputer, susun atur meja, simpanan dan 14 terjemahan.
Panduan ini menerangkan peraturan yang dimainkan, cara pakej disusun, apa yang boleh diubah dengan editor teks dan apa yang perlu build semula, cara mengehos, dan apa yang lesen benarkan. Nama fail diambil daripada panduan pembeli bergambar yang disertakan bersama item.
Satu perkara yang perlu diketahui sebelum yang lain: Pip Club dimainkan menentang komputer. Tiada mod dalam talian dan tiada mod dua pemain pada satu peranti.
Peraturan yang dimainkan oleh kod sumber permainan domino ini
Peraturan ialah bahagian di mana templat domino paling berbeza, jadi semak dengan apa yang pemain anda jangkakan. Pip Club memainkan permainan blok double-six klasik, seorang pemain menentang satu lawan komputer.
- 28 kepingan dari 0 hingga 6. Setiap pemain mendapat 7 dan 14 lagi kekal dalam longgokan.
- Kepingan berkembar tertinggi memulakan permainan. Jika tiada berkembar, jumlah tertinggi mula, dan jika seri, separuh tertinggi menentukan.
- Meja sentiasa ada dua hujung, A dan B. Kepingan mesti sepadan dengan satu hujung, dan kosong sepadan dengan kosong.
- Kepingan berkembar boleh diletak melintang, tetapi tidak pernah bercabang dan tidak memberi giliran tambahan.
- Jika tiada yang sepadan, cabut satu kepingan demi satu sehingga boleh bermain. Jika longgokan kosong dan tiada padanan, pas.
- Domino: sesiapa yang menghabiskan kepingan di tangan dahulu mendapat skor sebanyak jumlah yang tinggal di tangan lawan.
- Kunci: dua pas berturut-turut dengan longgokan kosong mengunci meja. Jumlah lebih rendah memenangi bezanya, dan jumlah sama berakhir seri.
Quick Round tamat selepas satu pusingan. Points Match bermain beberapa pusingan sehingga seseorang mencapai 50 atau 100. Kempen ada 9 pertemuan dalam 3 bab, satu bagi setiap tempat lepak, dan setiap kemenangan memberi satu meterai.
Apa yang ada dalam pakej
Pemain berdepan tiga lawan komputer dengan personaliti tersendiri: Rico si rakun DJ, Faísca si musang pemain papan luncur dan Nix si kucing artis, masing-masing pada tahap Easy, Normal atau Hard. Kepingan yang boleh dimainkan bercahaya, meja menunjukkan pratonton tempat kepingan akan diletak, dan petunjuk mencadangkan langkah. Ada tiga tempat lepak (Rooftop, Skate Park dan Midnight Arcade), enam set kepingan untuk dikumpul, meterai kempen dan statistik. Tetikus, sentuhan dan papan kekunci semuanya berfungsi.
- game/: build sedia dihos, dengan index.html, pip.config.js, modules/, lib/, assets/ dan licenses/.
- game/lib/phaser.js: Phaser 3.90.0, mudah dibaca, di bawah lesen MIT.
- source/: TypeScript yang boleh disunting, grafik, muzik, terjemahan dan ujian automatik.
- documentation/index.html dan DOCUMENTATION.html: panduan pembeli dalam 14 bahasa, boleh dibuka di luar talian.
- THIRD-PARTY-LICENSES/: notis untuk Phaser dan fon Barlow Condensed.
Grafik dan muzik ialah aset asli produk, dilesenkan kepada pembeli bersama item. Antara muka tersedia dalam 14 bahasa dan mengikut bahasa pelayar; tiada suara rakaman, jadi setiap dialog lawan mengikut bahasa yang dipilih.
Lihat Pip Club Dominoes: demo, panduan dan harga
Ubah tanpa build semula: pip.config.js
Di sebelah index.html terdapat pip.config.js. Buka dalam mana-mana editor teks, ubah satu nilai, muat naik fail dan muat semula. Tiga tetapan ada di situ.
- title: tajuk tab pelayar.
- saveKey: nama tempat simpanan disimpan. Nilai lalai ialah pip-club.
- defaultLanguage: bahasa permulaan. Jika dibiarkan kosong, permainan mengikut pelayar.
Kekalkan saveKey pada laman yang sudah beroperasi. Kunci berbeza menyebabkan permainan mengabaikan kemajuan sedia ada dan memulakan simpanan baharu, berguna untuk salinan kedua tetapi menyusahkan untuk kemas kini.
Di mana teks, grafik dan kepingan berada dalam kod sumber
- Teks dan terjemahan: source/src/ui/i18n.ts dan source/src/ui/locales/.
- Grafik watak, adegan dan logo: source/src/assets/club/.
- Muzik: source/src/assets/music/.
- Warna kepingan: source/src/art/palette.ts dan source/src/art/tileArt.ts.
- Ujian: source/tests/.
Kerja penjenamaan biasa mengikut urutan ini: logo dan grafik adegan dalam assets/club/, kemudian palet kepingan, kemudian ayat dalam locales. White label dibenarkan, jadi jenama anda boleh menggantikan jenama kami. Mengubah cara komputer bermain atau satu peraturan ialah kerja yang lebih mendalam; jalankan ujian sebelum dan selepas, kerana ia merangkumi kedua-duanya.
Jika anda sedang membina katalog kecil permainan meja, dua lagi templat kami sesuai diletakkan bersama yang ini.
Ludo Cats: Ludo dengan anak kucing, lawan CPU tiga tahap atau rakan pada satu peranti
Boba Club: solitaire Klondike dengan kempen 12 pusingan
Build semula selepas menyunting TypeScript
Folder game/ sudah dibina, jadi memasang permainan tidak memerlukan Node.js. Anda hanya memerlukannya selepas mengubah kod sumber.
- Pasang Node.js 22.12 atau lebih baharu (panduan diuji dengan 22.23). npm disertakan bersamanya.
- Buka terminal dalam source/, tempat package.json dan package-lock.json berada.
- Jalankan npm ci. Ia memasang versi terkunci yang tepat bagi Phaser, Vite, Vitest dan TypeScript.
- Jalankan npm test (58 ujian) dan npm run typecheck. Betulkan ralat sebelum build.
- Jalankan npm run build. Hasilnya ialah source/dist-static/, dengan index.html, modules/, lib/, assets/ dan licenses/.
- Sandarkan permainan yang dihos, kemudian muat naik kandungan dist-static/ sama seperti game/.
Panduan memberi amaran supaya tidak menggunakan npm audit fix dan npm update, kerana ia mengubah versi yang telah diuji. Jika masalah pakej berlaku, pulihkan pasangan package.json dan package-lock.json yang asal.
Mengehos di laman anda
Muat naik hanya kandungan game/, supaya index.html berada terus dalam folder sasaran, contohnya public_html/games/pip-club/. Simpan assets/, lib/, modules/, licenses/ dan pip.config.js di sebelahnya dan kekalkan huruf besar-kecil setiap nama. Jangan muat naik source/, documentation/ atau fail ZIP.
- Mana-mana hos HTTP(S) statik berfungsi, dalam mana-mana subfolder mana-mana domain, kerana permainan menggunakan laluan relatif.
- Tiada pangkalan data, PHP atau perkhidmatan Node.js diperlukan untuk bermain.
- Membuka index.html dari komputer anda (file://) tidak disokong.
- Hos mesti menghidangkan .js, .webp, .woff2 dan .mp3 dengan jenis biasa.
- Permainan tidak membuat panggilan analitik, kedudukan, pembayaran atau iklan.
Simpanan kekal dalam pelayar pemain, dalam IndexedDB atau localStorage, dan tidak disegerakkan antara peranti. Untuk mengemas kini, muat naik game/ baharu di atas yang lama, kekalkan pip.config.js dan saveKey-nya, dan kosongkan fail cache, bukan data laman, jika versi lama masih kelihatan.
Apa yang tidak disertakan, dan lesen
Edisi ini tiada mod dua pemain dalam talian atau setempat, tiada simpanan awan, tiada kedudukan dalam talian, tiada pembelian dengan wang sebenar dan tiada SDK iklan. Aplikasi natif, pengehosan dan pembangunan tersuai juga di luar pakej. Menambah iklan, kedai atau penyegerakan ialah kerja pembangun yang memerlukan akaun dan kelulusan anda sendiri.
Harga senarai Pip Club ialah $49, menjadi $41.65 dengan promosi Black Friday sehingga 30 November 2026; diskaun pakej 5% hingga 20% terpakai apabila anda membeli dua templat atau lebih bersama. Lesennya kekal dan tidak eksklusif, untuk satu produk akhir, milik anda atau seorang pelanggan. Anda boleh mengubah kod, grafik dan audio, meletakkan jenama anda dan membiarkan pemain bermain secara percuma atau dengan iklan, tetapi tidak boleh menjual semula templat atau kodnya secara bersendirian. Sokongan selama enam bulan, atau dua belas bulan dengan lanjutan; apa-apa selain pemasangan dan pembetulan kecacatan akan disebut harga.
Soalan lazim
Adakah kod sumber permainan domino ini TypeScript atau JavaScript?
Kod sumbernya TypeScript yang mudah dibaca dan tidak dimampatkan. Folder game/ yang sedia dihos ialah JavaScript yang telah dibina, jadi anda hanya perlukan alat TypeScript untuk mengubah permainan.
Bolehkah dua orang bermain menentang satu sama lain?
Tidak. Pemain berdepan lawan komputer pada satu peranti. Tiada mod dua pemain dalam talian atau setempat.
Varian domino apa yang dimainkan?
Double-six klasik, satu lawan satu, dengan cabutan dari longgokan, pas dan peraturan kunci. Domino memberi skor jumlah baki lawan, dan meja yang terkunci dimenangi oleh jumlah yang lebih rendah.
Apa yang boleh saya ubah tanpa build semula?
pip.config.js menetapkan tajuk pelayar, kunci simpanan dan bahasa permulaan. Peraturan, grafik, teks dan muzik diubah dalam kod sumber dan memerlukan build semula.
Adakah ia berfungsi di luar talian?
Ia tidak memanggil perkhidmatan luar, tetapi bukan aplikasi luar talian yang boleh dipasang. Pemain perlu mencapai alamat web anda untuk memuatkannya.
Adakah ini asas domino yang anda perlukan?
Pip Club sesuai untuk laman atau portal yang mahukan permainan meja klasik untuk semua peringkat umur, studio yang membina permainan domino berjenama untuk seorang pelanggan, dan pembangun yang mahukan TypeScript yang mudah dibaca dengan lawan komputer dan ujian unit sebenar. Ia tidak sesuai untuk projek yang memerlukan orang bermain sesama sendiri, dalam talian atau pada satu skrin; itu kerja tersuai dari awal.
Main demo Pip Club dan beli lesen
Perlukan set peraturan lain atau beberapa lesen? Minta sebut harga
