Skip to the content

Tsunagi繋ぎ

Join each pair with a separate line and fill the board, through fixed levels or seeded puzzles.

Tsunagi means joining in Japanese. About the name

Contents

Reference · Rules, solvers and generation

restartGamefunction

Restart: every line cleared and the strokes counted again (Undo can bring the lines back). A game that is solved or out of strokes restarts too.

Import it

import { restartGame } from "@johnmorrisdotca/tsunagi";

Definition

function restartGame(game: TsunagiGame): TsunagiGame

Parameters

NameTypeDescription
gameTsunagiGame

The current immutable native puzzle state.

Returns

TsunagiGame

Restart: every line cleared and the strokes counted again (Undo can bring the lines back). A game that is solved or out of strokes restarts too.

Examples

import { TSUNAGI_4 } from "@johnmorrisdotca/tsunagi/levels-4";
import { newTsunagiGame, restartGame } from "@johnmorrisdotca/tsunagi";

const givens = TSUNAGI_4[0][0];
const answer = TSUNAGI_4[0][1];
const game = newTsunagiGame(givens,4,{answer,cheats:true})!;
console.log(restartGame(game));
{
  layout: {
    size: 4,
    cells: [
       0, -1, -1,  0,  1, -1,
      -1,  1,  2, -1, -1,  2,
       3, -1, -1,  3
    ],
    ends: [ [Array], [Array], [Array], [Array] ],
    walls: Set(0) {},
    waypoints: Map(0) {},
    wrap: false,
    portalPairs: [],
    portals: Map(0) {},
    hex: false,
    sparse: false,
    strokes: null,
    explosions: null
  },
  givens: 'A..AB..BC..CD..D',
  answer: 'AAAABBBBCCCCDDDD',
  lines: [ [], [], [], [] ],
  undo: [],
  strokes: 0,
  drawing: null,
  before: null,
  reach: { dr: 0, dc: 0 },
  flagged: null,
  blasted: null,
  exploded: null,
  checked: null,
  cheats: true,
  explosions: 'on',
  eased: null,
  cheated: false,
  solved: false
}

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/tsunagi 1.7.0.