本文へ移動

Suido水道

管を回してポンプと排水口をつなぎます。収録された問題やシード付きの問題で遊べます。

「水道」は、水を届ける設備を表す言葉です。 名前について(英語)

目次

解説

構成と難度

純粋な規則と描画を分け、難度の意味を確認します。

ソースの構成

規則、ソルバー、生成器は短いコードを扱う純粋な関数で、DOMを使いません。描画は別の入口です。主入口は管、コード、水の流れ、ゲーム、探索、生成を扱います。/drawはSVG、/playは設置、/elementは標準要素を担当します。/levels-infoは盤面を読み込まず情報を扱い、/levelsは各サイズを必要時に読み込みます。

テストは対象のソースの隣にあります。小さな盤面では全探索とソルバーを照合し、同梱問題はそれぞれ再び一意性を証明します。scripts/はサイト、問題、難度の基準を作り、パッケージを検証します。demo/は遊べるページ、e2e/は実際のブラウザーのテストです。ファイル別の構成を参照してください。

同じサイズ内での難度

従来の難度は初見の分かりにくさ、推論の回数、未確定の管、試行、余りの管を測り、同じサイズ・種類・端の接続条件の基準と比較します。50はその基準群で中程度という意味で、所要時間や別サイズとの比較ではありません。大きなピースの問題集には、使用ピース数と絡み合いを合わせた別の難度があります。画面の印は得点を五段階に分けます。

生成済みの配列は専用の生成スクリプトで管理します。scripts/suido-level-docs.ts --refreshは共通の処理でコメントだけを更新し、問題、分位点、順序は変えません。全生成でも同じ処理を使います。難度の詳しい説明も参照してください。

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

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