本文へ移動

Meikyuu迷宮

シード付きの迷路と矢印パズルを作り、番号付きの問題を進め、平面や立体表面で遊べます。

「迷宮」は迷路のように入り組んだ場所を表す言葉です。 名前について(英語)

目次

やり方

形・生成法・モードを選ぶ

再現する問題を共有するときは全設定を保持します。

全設定をコードにする

import {buildMaze,recipeCode,parseRecipe,MEIKYUU_ALGORITHMS,MEIKYUU_MODES} from "@johnmorrisdotca/meikyuu";
const recipe = {shape:"square",w:5,h:5,algorithm:"prim",mode:"enter-leave",seed:42} as const;
const code = recipeCode(recipe);
console.log(code,parseRecipe(code),MEIKYUU_ALGORITHMS,MEIKYUU_MODES);
console.log(buildMaze(recipe).entrance!==null);
square:5x5:prim:enter-leave:42 {
  shape: 'square',
  w: 5,
  h: 5,
  algorithm: 'prim',
  mode: 'enter-leave',
  seed: 42
} [
  'backtracker',
  'hunt',
  'growing',
  'prim',
  'kruskal',
  'wilson',
  'eller'
] [ 'enter-leave', 'to-goal', 'centre-out', 'keys' ]
true

七つの生成法が通路のグラフを作ります。四角、六角、三角、円の輪、切り抜いた形があります。対応する寸法とマス数を確認し、円の輪数と長方形の幅・高さを取り違えません。Ellerは立体の生成法ではありません。不正な設定文字列はnull、不正な構築設定は拒否されます。

モードも問題の一部

enter-leaveには境界の出入口があります。ゴール、中央から外、鍵のモードは端点や鍵が違い、ゴール型には境界の入口がない場合があります。形、寸法、生成法、モード、種、鍵の数を組にします。見た目と向きは問題の同一性を変えません。MORE-MAZES.mdとbuildMazeを参照してください。

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

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