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

normaliseSettingsfunction

Settings that agree with their variant: a pinned line length wins over the player's choice, an opening the variant does not offer falls back to free, and a handicap rules out the openings that swap colours. Applied on creation so a state can never carry a contradiction.

Import it

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

Definition

function normaliseSettings(settings: GameSettings): GameSettings

Parameters

NameTypeDescription
settingsGameSettings

The native game settings to interpret.

Returns

GameSettings

A copy of the settings normalized to the variant, opening and handicap rules.

Examples

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

const state = createGame({variant:"freestyle",size:15});
console.log(normaliseSettings(state.settings));
{
  size: 15,
  winLength: 5,
  variant: 'freestyle',
  opening: 'free',
  handicap: {
    stone: null,
    doubleThree: false,
    doubleFour: false,
    overline: false,
    exactLine: false,
    openLine: false,
    longerLine: false,
    singleStone: false,
    noCaptures: false,
    secondStoneExclusion: 0
  },
  headStart: { stone: null, freeTurns: 0, traditional: 0 },
  seed: 0,
  capturesToWin: 10,
  firstPlayer: 'black',
  obstacles: 'none',
  allowUndo: true,
  allowSkip: false,
  allowSwap: false,
  allowResize: false,
  swapsPerSeat: 1,
  drawLimit: 'none'
}

What it prints (run when this page was built)

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