UNPKG

scrabble-solver

Version:

Scrabble Solver 2 - Free, open-source, cross-platform, multi-language analysis tool for Scrabble, Scrabble Duel, Super Scrabble, Letter League, Crossplay, Literaki, and Kelimelik. Quickly find the top-scoring words using the given board and tiles.

50 lines (49 loc) 1.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Cell = void 0; const Tile_1 = require("./Tile"); class Cell { constructor({ isEmpty = true, tile = Tile_1.Tile.Null, x, y }) { this.isEmpty = isEmpty; this.tile = tile; this.x = x; this.y = y; } clone() { return new Cell({ isEmpty: this.isEmpty, tile: this.tile.clone(), x: this.x, y: this.y, }); } equals(other) { return this.x === other.x && this.y === other.y && this.isEmpty === other.isEmpty && this.tile.equals(other.tile); } hasTile() { return this.tile !== Tile_1.Tile.Null; } isCandidate() { return this.isEmpty && this.hasTile(); } toJson() { return { isEmpty: this.isEmpty, tile: this.tile.toJson(), x: this.x, y: this.y, }; } toString() { return this.tile.toString(); } } exports.Cell = Cell; Cell.fromJson = (json) => { return new Cell({ isEmpty: json.isEmpty, tile: Tile_1.Tile.fromJson(json.tile), x: json.x, y: json.y, }); };