本文へ移動

Gunjin軍人

階級を隠す5つの対戦ゲームで、配置を非公開に保ち、表示や再生を共有し、1台の端末を交代して遊べます。

「軍人」は、兵士を表す言葉です。 名前について(英語)

目次

やり方

情報を隠した盤と地形を描く

標準の表示と地形を、見た目の設定で描きます。

標準の表示を描く

import { createHasamiMatch,hasamiRoster,submitHasamiSetup } from "@johnmorrisdotca/gunjin/hasami";
import { acknowledgePass } from "@johnmorrisdotca/gunjin/gunjin-shogi";
const home=(player:0|1)=>hasamiRoster(7).map((kind,x)=>({kind,x,y:player===0?6:0}));
let match=createHasamiMatch({width:7,height:7});
match=submitHasamiSetup(match,0,home(0),match.setupStep);
match=acknowledgePass(match,1,match.turn);
match=submitHasamiSetup(match,1,home(1),match.setupStep);
match=acknowledgePass(match,0,match.turn);
import { drawGunjinBoard } from "@johnmorrisdotca/gunjin/draw";
import { viewForPlayer,boardFeatures } from "@johnmorrisdotca/gunjin/views";
console.log(drawGunjinBoard(viewForPlayer(match,0),{language:"ja",material:"wood",pieceStyle:"tiles"}).startsWith("<svg"));
console.log(boardFeatures("luzhanqi-mini",7,8));
true
{
  camps: [ { x: 1, y: 3 }, { x: 5, y: 3 }, { x: 1, y: 4 }, { x: 5, y: 4 } ],
  headquarters: [ { x: 1, y: 0 }, { x: 5, y: 0 }, { x: 1, y: 7 }, { x: 5, y: 7 } ],
  lakes: []
}

陣営、司令部、湖は公開の地形です。移動への影響は、そのゲームの規則で判断します。言語、素材、駒の形、選択位置、移動先の印は表示の設定で、合法性を変えません。配置の下書きは、その側の配置画面だけで使います。SVGは、必要な情報だけの表示を渡せばブラウザーの外でも使えます。

ソースを見るGitHub で編集@johnmorrisdotca/gunjin 0.2.1 のソースから作成しました。

この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。