Skip to the content

Narabe並べ

Play forty-eight abstract board games through immutable moves, legal choices and replayable records.

Narabe means arranging in Japanese, as in gomoku-narabe: five in a row. About the name

Contents

Reference · Rules and records

emptyPointsfunction

Every intersection still open: no stone, no obstacle.

Import it

import { emptyPoints } from "@johnmorrisdotca/narabe";

Definition

function emptyPoints(state: GameState): Point[]

Parameters

NameTypeDescription
stateGameState

The current immutable game position.

Returns

Point[]

All empty intersections, excluding stones and special occupied cells.

Examples

import { createGame, emptyPoints } from "@johnmorrisdotca/narabe";

const state = createGame({variant:"freestyle",size:15});
console.log(emptyPoints(state));
[
  { row: 0, col: 0 },  { row: 0, col: 1 },  { row: 0, col: 2 },
  { row: 0, col: 3 },  { row: 0, col: 4 },  { row: 0, col: 5 },
  { row: 0, col: 6 },  { row: 0, col: 7 },  { row: 0, col: 8 },
  { row: 0, col: 9 },  { row: 0, col: 10 }, { row: 0, col: 11 },
  { row: 0, col: 12 }, { row: 0, col: 13 }, { row: 0, col: 14 },
  { row: 1, col: 0 },  { row: 1, col: 1 },  { row: 1, col: 2 },
  { row: 1, col: 3 },  { row: 1, col: 4 },  { row: 1, col: 5 },
  { row: 1, col: 6 },  { row: 1, col: 7 },  { row: 1, col: 8 },
  { row: 1, col: 9 },  { row: 1, col: 10 }, { row: 1, col: 11 },
  { row: 1, col: 12 }, { row: 1, col: 13 }, { row: 1, col: 14 },
  { row: 2, col: 0 },  { row: 2, col: 1 },  { row: 2, col: 2 },
  { row: 2, col: 3 },  { row: 2, col: 4 },  { row: 2, col: 5 },
  { row: 2, col: 6 },  { row: 2, col: 7 },  { row: 2, col: 8 },
  { row: 2, col: 9 },  { row: 2, col: 10 }, { row: 2, col: 11 },
  { row: 2, col: 12 }, { row: 2, col: 13 }, { row: 2, col: 14 },
  { row: 3, col: 0 },  { row: 3, col: 1 },  { row: 3, col: 2 },
  { row: 3, col: 3 },  { row: 3, col: 4 },  { row: 3, col: 5 },
  { row: 3, col: 6 },  { row: 3, col: 7 },  { row: 3, col: 8 },
  { row: 3, col: 9 },  { row: 3, col: 10 }, { row: 3, col: 11 },
  { row: 3, col: 12 }, { row: 3, col: 13 }, { row: 3, col: 14 },
  { row: 4, col: 0 },  { row: 4, col: 1 },  { row: 4, col: 2 },
  { row: 4, col: 3 },  { row: 4, col: 4 },  { row: 4, col: 5 },
  { row: 4, col: 6 },  { row: 4, col: 7 },  { row: 4, col: 8 },
  { row: 4, col: 9 },  { row: 4, col: 10 }, { row: 4, col: 11 },
  { row: 4, col: 12 }, { row: 4, col: 13 }, { row: 4, col: 14 },
  { row: 5, col: 0 },  { row: 5, col: 1 },  { row: 5, col: 2 },
  { row: 5, col: 3 },  { row: 5, col: 4 },  { row: 5, col: 5 },
  { row: 5, col: 6 },  { row: 5, col: 7 },  { row: 5, col: 8 },
  { row: 5, col: 9 },  { row: 5, col: 10 }, { row: 5, col: 11 },
  { row: 5, col: 12 }, { row: 5, col: 13 }, { row: 5, col: 14 },
  { row: 6, col: 0 },  { row: 6, col: 1 },  { row: 6, col: 2 },
  { row: 6, col: 3 },  { row: 6, col: 4 },  { row: 6, col: 5 },
  { row: 6, col: 6 },  { row: 6, col: 7 },  { row: 6, col: 8 },
  { row: 6, col: 9 },
  ... 125 more items
]

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/narabe 1.3.0.