本文へ移動

Jirai地雷

シード付きの地雷の盤を作り、見える数字からヒントを証明し、四角・四近傍・六角・端がつながる盤で遊べます。

「地雷」は、地面に埋められた爆弾のことです。 名前について(英語)

目次

やり方

見える数字からヒントを証明する

VisibleGameを使い、旗と証明、矛盾を区別します。

見える状態を渡す

import { newGame,play,visibleGame,hintFor,type Settings } from "@johnmorrisdotca/jirai";
const settings: Settings={width:3,height:3,mines:1,grid:"square",noGuess:false,opening:"clear",seed:42};
const game=play(newGame(settings),{kind:"reveal",cell:0});
const hint=hintFor(visibleGame(game));
console.log(hint.safe,hint.mines,hint.reason,hint.contradiction);
[] [ 2 ] count false

VisibleGameは、開いた数字と印を持ちます。隠れた数字は旗のマスでもnullです。利用者の旗は、証明した地雷ではありません。knownMinesには、以前に証明した結果を渡します。Deductionは、安全なマス、地雷、推論の種類、根拠のマスを返します。空の結果は、有効な上限付きの推論で証明を見つけられなかった意味です。自動で推測してよい意味ではありません。

答えを使う場所を分ける

Game.boardと生成したBoardは、規則と生成の確認のために地雷の位置を持ちます。終了前のヒントや公開の表示には、見える状態を使います。contradictionは、見える条件の矛盾です。標準のヒントを表示した場合、保存した進み具合にもヒント使用の記録を保ちます。

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

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