本文へ移動

Suido水道

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

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

目次

リファレンス · SVGの盤

cellStates関数

リファレンスの説明と例は英語です。見出しと目次は日本語です。

The state of every piece of a board whose pieces face as masks say. A piece is named by the cell it was given in, which is where it is unless it is in a block that turns as one (blocks.ts): the block carries it round, so its water is read where it is now, and its quarters are the block's.

インポート

import { cellStates } from "@johnmorrisdotca/suido/draw";

定義

function cellStates(layout: Layout, masks?: readonly number[], quarters?: readonly number[], flow?: Flow): CellState[]

引数

名前型説明
layoutLayout

The decoded board with its dimensions, pipe masks and rule settings.

masks (省略可)readonly number[]

Current pipe masks in row-major cell order.

quarters (省略可)readonly number[] | undefined

Clockwise quarter turns, per cell or for the piece specified by the signature.

flow (省略可)Flow

Optional previously computed water flow for these masks.

戻り値

CellState[]

The state of every piece of a board whose pieces face as masks say. A piece is named by the cell it was given in, which is where it is unless it is in a block that turns as one (blocks.ts): the block carries it round, so its water is read where it is now, and its quarters are the block's.

例

import { SUIDO_5X5 } from "@johnmorrisdotca/suido/levels-5x5";
import { decodeLayout } from "@johnmorrisdotca/suido";
import { cellStates } from "@johnmorrisdotca/suido/draw";

const row = SUIDO_5X5[0];
const code = row[0];
const layout = decodeLayout(code)!;
console.log(cellStates(layout).slice(0,2));
[
  {
    cell: 0,
    quarters: 0,
    wet: true,
    depth: 0,
    arms: [ 'leak', 'leak', '', '' ]
  },
  {
    cell: 1,
    quarters: 0,
    wet: false,
    depth: -1,
    arms: [ '', '', '', '' ]
  }
]

出力(このページを作ったときに実行した結果)

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

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