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.
404 lines (389 loc) • 14.3 kB
text/typescript
/* eslint-disable max-lines */
import { Config, Locale } from '@scrabble-solver/types';
import { crossplay, letterLeague, literaki, scrabble, scrabbleDuel, superScrabble } from '../games';
export const englishGbCrossplay = new Config({
...crossplay,
locale: Locale.EN_GB,
tiles: [
{ character: 'a', score: 1 },
{ character: 'b', score: 4 },
{ character: 'c', score: 3 },
{ character: 'd', score: 2 },
{ character: 'e', score: 1 },
{ character: 'f', score: 4 },
{ character: 'g', score: 4 },
{ character: 'h', score: 3 },
{ character: 'i', score: 1 },
{ character: 'j', score: 10 },
{ character: 'k', score: 6 },
{ character: 'l', score: 2 },
{ character: 'm', score: 3 },
{ character: 'n', score: 1 },
{ character: 'o', score: 1 },
{ character: 'p', score: 3 },
{ character: 'q', score: 10 },
{ character: 'r', score: 1 },
{ character: 's', score: 1 },
{ character: 't', score: 1 },
{ character: 'u', score: 2 },
{ character: 'v', score: 6 },
{ character: 'w', score: 5 },
{ character: 'x', score: 8 },
{ character: 'y', score: 4 },
{ character: 'z', score: 10 },
],
});
export const englishGbLetterLeague = new Config({
...letterLeague,
locale: Locale.EN_GB,
tiles: [
{ character: 'a', score: 1 },
{ character: 'b', score: 3 },
{ character: 'c', score: 3 },
{ character: 'd', score: 2 },
{ character: 'e', score: 1 },
{ character: 'f', score: 4 },
{ character: 'g', score: 2 },
{ character: 'h', score: 4 },
{ character: 'i', score: 1 },
{ character: 'j', score: 8 },
{ character: 'k', score: 5 },
{ character: 'l', score: 2 },
{ character: 'm', score: 3 },
{ character: 'n', score: 1 },
{ character: 'o', score: 1 },
{ character: 'p', score: 3 },
{ character: 'q', score: 10 },
{ character: 'r', score: 1 },
{ character: 's', score: 1 },
{ character: 't', score: 1 },
{ character: 'u', score: 1 },
{ character: 'v', score: 4 },
{ character: 'w', score: 4 },
{ character: 'x', score: 8 },
{ character: 'y', score: 4 },
{ character: 'z', score: 10 },
],
});
export const englishGbLiteraki = new Config({
...literaki,
locale: Locale.EN_GB,
name: 'Literaxx',
tiles: [
{ character: 'a', count: 9, score: 1 },
{ character: 'b', count: 2, score: 3 },
{ character: 'c', count: 2, score: 3 },
{ character: 'd', count: 4, score: 2 },
{ character: 'e', count: 12, score: 1 },
{ character: 'f', count: 2, score: 4 },
{ character: 'g', count: 3, score: 2 },
{ character: 'h', count: 2, score: 4 },
{ character: 'i', count: 9, score: 1 },
{ character: 'j', count: 1, score: 8 },
{ character: 'k', count: 1, score: 5 },
{ character: 'l', count: 4, score: 1 },
{ character: 'm', count: 2, score: 3 },
{ character: 'n', count: 6, score: 1 },
{ character: 'o', count: 8, score: 1 },
{ character: 'p', count: 2, score: 3 },
{ character: 'q', count: 1, score: 10 },
{ character: 'r', count: 6, score: 1 },
{ character: 's', count: 4, score: 1 },
{ character: 't', count: 6, score: 1 },
{ character: 'u', count: 4, score: 1 },
{ character: 'v', count: 2, score: 4 },
{ character: 'w', count: 2, score: 4 },
{ character: 'x', count: 1, score: 8 },
{ character: 'y', count: 2, score: 4 },
{ character: 'z', count: 1, score: 10 },
],
});
export const englishGbScrabble = new Config({
...scrabble,
locale: Locale.EN_GB,
tiles: [
{ character: 'a', count: 9, score: 1 },
{ character: 'b', count: 2, score: 3 },
{ character: 'c', count: 2, score: 3 },
{ character: 'd', count: 4, score: 2 },
{ character: 'e', count: 12, score: 1 },
{ character: 'f', count: 2, score: 4 },
{ character: 'g', count: 3, score: 2 },
{ character: 'h', count: 2, score: 4 },
{ character: 'i', count: 9, score: 1 },
{ character: 'j', count: 1, score: 8 },
{ character: 'k', count: 1, score: 5 },
{ character: 'l', count: 4, score: 1 },
{ character: 'm', count: 2, score: 3 },
{ character: 'n', count: 6, score: 1 },
{ character: 'o', count: 8, score: 1 },
{ character: 'p', count: 2, score: 3 },
{ character: 'q', count: 1, score: 10 },
{ character: 'r', count: 6, score: 1 },
{ character: 's', count: 4, score: 1 },
{ character: 't', count: 6, score: 1 },
{ character: 'u', count: 4, score: 1 },
{ character: 'v', count: 2, score: 4 },
{ character: 'w', count: 2, score: 4 },
{ character: 'x', count: 1, score: 8 },
{ character: 'y', count: 2, score: 4 },
{ character: 'z', count: 1, score: 10 },
],
});
export const englishGbScrabbleDuel = new Config({
...scrabbleDuel,
locale: Locale.EN_GB,
tiles: [
{ character: 'a', count: 9, score: 1 },
{ character: 'b', count: 2, score: 3 },
{ character: 'c', count: 2, score: 3 },
{ character: 'd', count: 4, score: 2 },
{ character: 'e', count: 12, score: 1 },
{ character: 'f', count: 2, score: 4 },
{ character: 'g', count: 3, score: 2 },
{ character: 'h', count: 2, score: 4 },
{ character: 'i', count: 9, score: 1 },
{ character: 'j', count: 1, score: 8 },
{ character: 'k', count: 1, score: 5 },
{ character: 'l', count: 4, score: 1 },
{ character: 'm', count: 2, score: 3 },
{ character: 'n', count: 6, score: 1 },
{ character: 'o', count: 8, score: 1 },
{ character: 'p', count: 2, score: 3 },
{ character: 'q', count: 1, score: 10 },
{ character: 'r', count: 6, score: 1 },
{ character: 's', count: 4, score: 1 },
{ character: 't', count: 6, score: 1 },
{ character: 'u', count: 4, score: 1 },
{ character: 'v', count: 2, score: 4 },
{ character: 'w', count: 2, score: 4 },
{ character: 'x', count: 1, score: 8 },
{ character: 'y', count: 2, score: 4 },
{ character: 'z', count: 1, score: 10 },
],
});
export const englishGbSuperScrabble = new Config({
...superScrabble,
locale: Locale.EN_GB,
tiles: [
{ character: 'a', count: 16, score: 1 },
{ character: 'b', count: 4, score: 3 },
{ character: 'c', count: 6, score: 3 },
{ character: 'd', count: 8, score: 2 },
{ character: 'e', count: 24, score: 1 },
{ character: 'f', count: 4, score: 4 },
{ character: 'g', count: 5, score: 2 },
{ character: 'h', count: 5, score: 4 },
{ character: 'i', count: 13, score: 1 },
{ character: 'j', count: 2, score: 8 },
{ character: 'k', count: 2, score: 5 },
{ character: 'l', count: 7, score: 1 },
{ character: 'm', count: 6, score: 3 },
{ character: 'n', count: 13, score: 1 },
{ character: 'o', count: 15, score: 1 },
{ character: 'p', count: 4, score: 3 },
{ character: 'q', count: 2, score: 10 },
{ character: 'r', count: 13, score: 1 },
{ character: 's', count: 10, score: 1 },
{ character: 't', count: 15, score: 1 },
{ character: 'u', count: 7, score: 1 },
{ character: 'v', count: 3, score: 4 },
{ character: 'w', count: 4, score: 4 },
{ character: 'x', count: 2, score: 8 },
{ character: 'y', count: 4, score: 4 },
{ character: 'z', count: 2, score: 10 },
],
});
export const englishUsCrossplay = new Config({
...crossplay,
locale: Locale.EN_US,
tiles: [
{ character: 'a', score: 1 },
{ character: 'b', score: 4 },
{ character: 'c', score: 3 },
{ character: 'd', score: 2 },
{ character: 'e', score: 1 },
{ character: 'f', score: 4 },
{ character: 'g', score: 4 },
{ character: 'h', score: 3 },
{ character: 'i', score: 1 },
{ character: 'j', score: 10 },
{ character: 'k', score: 6 },
{ character: 'l', score: 2 },
{ character: 'm', score: 3 },
{ character: 'n', score: 1 },
{ character: 'o', score: 1 },
{ character: 'p', score: 3 },
{ character: 'q', score: 10 },
{ character: 'r', score: 1 },
{ character: 's', score: 1 },
{ character: 't', score: 1 },
{ character: 'u', score: 2 },
{ character: 'v', score: 6 },
{ character: 'w', score: 5 },
{ character: 'x', score: 8 },
{ character: 'y', score: 4 },
{ character: 'z', score: 10 },
],
});
export const englishUsLetterLeague = new Config({
...letterLeague,
locale: Locale.EN_US,
tiles: [
{ character: 'a', score: 1 },
{ character: 'b', score: 3 },
{ character: 'c', score: 3 },
{ character: 'd', score: 2 },
{ character: 'e', score: 1 },
{ character: 'f', score: 4 },
{ character: 'g', score: 2 },
{ character: 'h', score: 4 },
{ character: 'i', score: 1 },
{ character: 'j', score: 8 },
{ character: 'k', score: 5 },
{ character: 'l', score: 2 },
{ character: 'm', score: 3 },
{ character: 'n', score: 1 },
{ character: 'o', score: 1 },
{ character: 'p', score: 3 },
{ character: 'q', score: 10 },
{ character: 'r', score: 1 },
{ character: 's', score: 1 },
{ character: 't', score: 1 },
{ character: 'u', score: 1 },
{ character: 'v', score: 4 },
{ character: 'w', score: 4 },
{ character: 'x', score: 8 },
{ character: 'y', score: 4 },
{ character: 'z', score: 10 },
],
});
export const englishUsLiteraki = new Config({
...literaki,
locale: Locale.EN_US,
name: 'Literaxx',
tiles: [
{ character: 'a', count: 9, score: 1 },
{ character: 'b', count: 2, score: 3 },
{ character: 'c', count: 2, score: 3 },
{ character: 'd', count: 4, score: 2 },
{ character: 'e', count: 12, score: 1 },
{ character: 'f', count: 2, score: 4 },
{ character: 'g', count: 3, score: 2 },
{ character: 'h', count: 2, score: 4 },
{ character: 'i', count: 9, score: 1 },
{ character: 'j', count: 1, score: 8 },
{ character: 'k', count: 1, score: 5 },
{ character: 'l', count: 4, score: 1 },
{ character: 'm', count: 2, score: 3 },
{ character: 'n', count: 6, score: 1 },
{ character: 'o', count: 8, score: 1 },
{ character: 'p', count: 2, score: 3 },
{ character: 'q', count: 1, score: 10 },
{ character: 'r', count: 6, score: 1 },
{ character: 's', count: 4, score: 1 },
{ character: 't', count: 6, score: 1 },
{ character: 'u', count: 4, score: 1 },
{ character: 'v', count: 2, score: 4 },
{ character: 'w', count: 2, score: 4 },
{ character: 'x', count: 1, score: 8 },
{ character: 'y', count: 2, score: 4 },
{ character: 'z', count: 1, score: 10 },
],
});
export const englishUsScrabble = new Config({
...scrabble,
locale: Locale.EN_US,
tiles: [
{ character: 'a', count: 9, score: 1 },
{ character: 'b', count: 2, score: 3 },
{ character: 'c', count: 2, score: 3 },
{ character: 'd', count: 4, score: 2 },
{ character: 'e', count: 12, score: 1 },
{ character: 'f', count: 2, score: 4 },
{ character: 'g', count: 3, score: 2 },
{ character: 'h', count: 2, score: 4 },
{ character: 'i', count: 9, score: 1 },
{ character: 'j', count: 1, score: 8 },
{ character: 'k', count: 1, score: 5 },
{ character: 'l', count: 4, score: 1 },
{ character: 'm', count: 2, score: 3 },
{ character: 'n', count: 6, score: 1 },
{ character: 'o', count: 8, score: 1 },
{ character: 'p', count: 2, score: 3 },
{ character: 'q', count: 1, score: 10 },
{ character: 'r', count: 6, score: 1 },
{ character: 's', count: 4, score: 1 },
{ character: 't', count: 6, score: 1 },
{ character: 'u', count: 4, score: 1 },
{ character: 'v', count: 2, score: 4 },
{ character: 'w', count: 2, score: 4 },
{ character: 'x', count: 1, score: 8 },
{ character: 'y', count: 2, score: 4 },
{ character: 'z', count: 1, score: 10 },
],
});
export const englishUsScrabbleDuel = new Config({
...scrabbleDuel,
locale: Locale.EN_US,
tiles: [
{ character: 'a', count: 9, score: 1 },
{ character: 'b', count: 2, score: 3 },
{ character: 'c', count: 2, score: 3 },
{ character: 'd', count: 4, score: 2 },
{ character: 'e', count: 12, score: 1 },
{ character: 'f', count: 2, score: 4 },
{ character: 'g', count: 3, score: 2 },
{ character: 'h', count: 2, score: 4 },
{ character: 'i', count: 9, score: 1 },
{ character: 'j', count: 1, score: 8 },
{ character: 'k', count: 1, score: 5 },
{ character: 'l', count: 4, score: 1 },
{ character: 'm', count: 2, score: 3 },
{ character: 'n', count: 6, score: 1 },
{ character: 'o', count: 8, score: 1 },
{ character: 'p', count: 2, score: 3 },
{ character: 'q', count: 1, score: 10 },
{ character: 'r', count: 6, score: 1 },
{ character: 's', count: 4, score: 1 },
{ character: 't', count: 6, score: 1 },
{ character: 'u', count: 4, score: 1 },
{ character: 'v', count: 2, score: 4 },
{ character: 'w', count: 2, score: 4 },
{ character: 'x', count: 1, score: 8 },
{ character: 'y', count: 2, score: 4 },
{ character: 'z', count: 1, score: 10 },
],
});
export const englishUsSuperScrabble = new Config({
...superScrabble,
locale: Locale.EN_US,
tiles: [
{ character: 'a', count: 16, score: 1 },
{ character: 'b', count: 4, score: 3 },
{ character: 'c', count: 6, score: 3 },
{ character: 'd', count: 8, score: 2 },
{ character: 'e', count: 24, score: 1 },
{ character: 'f', count: 4, score: 4 },
{ character: 'g', count: 5, score: 2 },
{ character: 'h', count: 5, score: 4 },
{ character: 'i', count: 13, score: 1 },
{ character: 'j', count: 2, score: 8 },
{ character: 'k', count: 2, score: 5 },
{ character: 'l', count: 7, score: 1 },
{ character: 'm', count: 6, score: 3 },
{ character: 'n', count: 13, score: 1 },
{ character: 'o', count: 15, score: 1 },
{ character: 'p', count: 4, score: 3 },
{ character: 'q', count: 2, score: 10 },
{ character: 'r', count: 13, score: 1 },
{ character: 's', count: 10, score: 1 },
{ character: 't', count: 15, score: 1 },
{ character: 'u', count: 7, score: 1 },
{ character: 'v', count: 3, score: 4 },
{ character: 'w', count: 4, score: 4 },
{ character: 'x', count: 2, score: 8 },
{ character: 'y', count: 4, score: 4 },
{ character: 'z', count: 2, score: 10 },
],
});