Logo Lanfrica
  • Home
  • Atlas
  • Insights
  • Docs
  • Sign in

© 2026 Lanfrica. All rights reserved. All copyrights of the resources shown on the Lanfrica website belong to the original copyright holders, unless explicitly stated otherwise.

nkkmd/bao-la-kiswahili-game

Record type:

software
Creator:
nkk
Host:
# Bao la Kiswahili Bao la Kiswahili は、ローカル 2 人対戦とコンピューター対戦に対応した、Bao の静的ブラウザー実装です。通常の静的ファイルだけで動作し、ビルド手順は不要です。ゲームロジックはすべてブラウザー内で実行されます。 コンピューターには 4 つのレベルがあります。 | レベル | 方式 | | --- | --- | | やさしい | 合法手からランダムに選択 | | ふつう | 1 手読みで評価上位の手からランダムに選択 | | むずかしい | ミニマックス法とアルファベータ枝刈りによる反復深化探索 | | ムタアラム | デバイス性能に応じて調整した、より長い探索時間 | コンピューターの手はすべて、人間の対局と同じルールエンジンで生成・検証されます。 ## 機能 - `public/` 以下に配置された静的ブラウザーゲーム - ローカル 2 人対戦モード - コンピューター対戦時の South/North 選択 - namua、mtaji、連続種まき、nyumba、捕獲、勝敗判定に対応した Bao ルールエンジン - 長めの思考中でも UI の応答性を保つ、Web Worker ベースの AI 探索 - オフライン対応デプロイのための PWA ファイル - ルール、AI、探索、Worker、チューニング、ベンチマークツール向けの Node.js テストスイート - シード、ペア開局、戦術回帰テスト、保存済み成果物による再現可能な AI ベンチマーク - 外部送信なしで局面JSONをファイル保存し、直前のAI着手を端末内に記録する診断機能 - 「むずかしい」「ムタアラム」の直前探索統計と、Phase 10A向け保存推奨判定 ## ルールの基準 この実装は、`bao-la-kiswahili-ja` の公開ドラフト `v0.1.0-draft` におけるルール基準 `R-002` を実装上の基準としています。捕獲義務、namua、mtaji、連続種まき、nyumba、勝敗判定を実装しています。 検証に使える完全な出典局面がまだ確認できていないため、`takasia` は適用していません。終わらない対局を防ぐため、連続種まきには安全上の上限を設けています。 固定参照コミット、実装範囲、既知の差異、ルール更新時の同期手順は `doc/RULES_BASELINE.md` に記録しています。 ## ローカルでの実行 任意の静的 HTTP サーバーで `public/` ディレクトリを配信し、`index.html` を開きます。 例: ```sh cd public python3 -m http.server 8000 ``` 続いて、以下を開きます。 ```text localhost ``` `file://` 経由で `public/index.html` を開いても大半のゲームプレイは動作しますが、Service Worker 機能には HTTP(S) が必要です。 ## デプロイ Cloudflare Pages などの静的ホスティングでは、公開ディレクトリを以下に設定します。 ```text public/ ``` Privacy Policy へのリンクとPWAのオフラインキャッシュは、Cloudflare Pages の clean URL に合わせて `./privacy` を使用します。リダイレクト済みの `privacy.html` レスポンスはキャッシュしません。 ## テスト 個別のテストを実行します。 ```sh node test/engine.test.js ``` テストスイート全体を実行します。 ```sh for f in test/*.test.js; do node "$f" || exit 1; done ``` ## AI ベンチマーク 再現可能な固定深さベンチマークを実行します。 ```sh node tools/benchmark.js --games 100 --seed 20260706 \ --first hard --second normal --time-limit 0 --max-depth 2 ``` 戦術回帰テストを実行します。 ```sh node test/tactical.test.js ``` 戦術テストの診断出力: ```sh BAO_TACTICAL_DIAG=1 node test/tactical.test.js ``` ゲーム画面の「AI改善用診断」では、次のJSONファイルを端末へ保存できます。 - …

Visit

github.com

Languages

SwahiliSwahili, CoastalSwahili, Congo

Licenses

MIT