Skip to the content

Gunjin軍人

Play five hidden-rank games, keep setups private, share redacted views and replay, and pass one device between players.

Gunjin is the Japanese word 軍人 for a soldier. About the name

Contents

Reference · Hidden capture-flag rules

submitSetupfunction

Submits one player's hidden setup and then shows a pass-device screen.

Import it

import { submitSetup } from "@johnmorrisdotca/gunjin/stratego-lite";

Also exported from: @johnmorrisdotca/gunjin/gunjin-shogi

Definition

function submitSetup(match: AuthoritativeMatch, player: Player, placements: readonly SetupPiece[], expectedSetupStep: number): AuthoritativeMatch

Parameters

NameTypeDescription
matchAuthoritativeMatch

The full authoritative match, held by a trusted host or the local hotseat owner.

playerPlayer

The acting player, 0 or 1; the lifecycle checks that this is the expected player.

placementsreadonly SetupPiece[]

A complete native roster placed in this mode’s allowed home cells.

expectedSetupStepnumber

The setup step seen by the caller, used to reject stale submissions.

Returns

AuthoritativeMatch

Submits one player's hidden setup and then shows a pass-device screen.

Examples

import type { Player } from "@johnmorrisdotca/gunjin";
import { createHasamiMatch, hasamiRoster } from "@johnmorrisdotca/gunjin/hasami";
import { submitSetup } from "@johnmorrisdotca/gunjin/stratego-lite";

const home=(player: Player)=>hasamiRoster(7).map((kind,x)=>({kind,x,y:player===0?6:0}));
const base=createHasamiMatch({width:7,height:7});
console.log(submitSetup(base,0,home(0),base.setupStep).phase);
pass

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/gunjin 0.2.1.