0.0.3-alpha.0 • Published 5 years ago

@gogen-solver/samples v0.0.3-alpha.0

Weekly downloads
3
License
-
Repository
github
Last release
5 years ago

#gogen-solver/samples A package of sample puzzles to use and test with. Well, at time of writing there's just one, which was taken form a local newspaper, so it probably has copyright, use at your own risk ¯\_(ツ)_

Includes a JSON Schema (see /schema) to help you validate your own.

Install

  • yarn:yarn add @gogen-solver/samples
  • npm:npm install @gogen-solver/samples

Usage

The format is provided as @gogen-solver/core requires so there's no modification or processing needed to load them. Simply extract the words and grid fields and pass them into the Gogen solver.

Example

If we want to load the ES_2018-01-26 sample:

// for dynamic input (eg. specified by the user)
const samples = require('@gogen-solver/samples');
const sample = samples['ES_2018-01-26.json'];

or

// to just load a specific file
const sample = require('@gogen-solver/samples/samples/ES_2018-01-26.json');

and then extract the words an grid properties to pass to the Gogen solver:

const Gogen = require('@gogen-solver/core');

const {grid, words} = sample;

const puzzle = new Gogen(grid, words);
puzzle.solve();

console.table(puzzle.grid.graph)

Format

  • description (string, optional)
  • grid (array[], required) - 2D array. I don't see Gogen working well with anything besides a 5x5 grid (for the English alphabet, at least), but I left this flexible if you want to come up with your own funky grid dimensions
  • words (string[], required) - List of words given.
  • solution (array[], optional)s - Optional because if you had the solution, you wouldn't need thegogen-solver` would you? This is really just here for test scripts.

Example

See ES_2018-01-26 for a complete example with optional data included.

Todos:

  • Some way to test samples match schema and flag errors. Possibly with use of a TS/ES lint plugin?
  • Make loader work without requirement for .json suffix?