scrabble-solver 2.12.2 → 2.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -13
- package/lerna.json +1 -1
- package/package.json +3 -2
- package/packages/configs/build/games/index.d.ts +3 -0
- package/packages/configs/build/games/index.js +12 -0
- package/packages/configs/build/games/literaki.d.ts +25 -0
- package/packages/configs/build/games/literaki.js +110 -0
- package/packages/configs/build/games/scrabble.d.ts +18 -0
- package/packages/configs/build/games/scrabble.js +78 -0
- package/packages/configs/build/games/superScrabble.d.ts +18 -0
- package/packages/configs/build/games/superScrabble.js +141 -0
- package/packages/configs/build/getConfig.d.ts +2 -6
- package/packages/configs/build/getConfig.js +29 -10
- package/packages/configs/build/hasConfig.d.ts +3 -0
- package/packages/configs/build/hasConfig.js +31 -0
- package/packages/configs/build/index.d.ts +7 -4
- package/packages/configs/build/index.js +32 -9
- package/packages/configs/build/locales/deDe.d.ts +3 -0
- package/packages/configs/build/locales/deDe.js +42 -0
- package/packages/configs/build/locales/enGb.d.ts +3 -0
- package/packages/configs/build/locales/enGb.js +104 -0
- package/packages/configs/build/locales/enUs.d.ts +3 -0
- package/packages/configs/build/locales/enUs.js +104 -0
- package/packages/configs/build/locales/esEs.d.ts +3 -0
- package/packages/configs/build/locales/esEs.js +41 -0
- package/packages/configs/build/locales/faIr.d.ts +3 -0
- package/packages/configs/build/locales/faIr.js +45 -0
- package/packages/configs/build/locales/frFr.d.ts +3 -0
- package/packages/configs/build/locales/frFr.js +39 -0
- package/packages/configs/build/locales/index.d.ts +7 -0
- package/packages/configs/build/locales/index.js +20 -0
- package/packages/configs/build/locales/plPl.d.ts +3 -0
- package/packages/configs/build/locales/plPl.js +83 -0
- package/packages/configs/package.json +3 -3
- package/packages/configs/src/games/index.ts +3 -0
- package/packages/configs/src/games/literaki.ts +110 -0
- package/packages/configs/src/games/scrabble.ts +78 -0
- package/packages/configs/src/games/superScrabble.ts +141 -0
- package/packages/configs/src/getConfig.ts +8 -15
- package/packages/configs/src/hasConfig.ts +10 -0
- package/packages/configs/src/index.ts +7 -4
- package/packages/configs/src/locales/deDe.ts +43 -0
- package/packages/configs/src/locales/enGb.ts +105 -0
- package/packages/configs/src/locales/enUs.ts +105 -0
- package/packages/configs/src/locales/esEs.ts +42 -0
- package/packages/configs/src/locales/faIr.ts +46 -0
- package/packages/configs/src/locales/frFr.ts +40 -0
- package/packages/configs/src/locales/index.ts +7 -0
- package/packages/configs/src/locales/plPl.ts +84 -0
- package/packages/constants/package.json +1 -1
- package/packages/dictionaries/package-lock.json +3 -10
- package/packages/dictionaries/package.json +4 -4
- package/packages/logger/package-lock.json +3 -224
- package/packages/logger/package.json +1 -1
- package/packages/scrabble-solver/.next/BUILD_ID +1 -1
- package/packages/scrabble-solver/.next/build-manifest.json +6 -6
- package/packages/scrabble-solver/.next/cache/.tsbuildinfo +1 -1
- package/packages/scrabble-solver/.next/cache/eslint/.cache_8dgz12 +1 -1
- package/packages/scrabble-solver/.next/cache/next-server.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/cache/webpack/client-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/client-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/0.pack +0 -0
- package/packages/scrabble-solver/.next/cache/webpack/server-production/index.pack +0 -0
- package/packages/scrabble-solver/.next/next-server.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/prerender-manifest.json +1 -1
- package/packages/scrabble-solver/.next/routes-manifest.json +1 -1
- package/packages/scrabble-solver/.next/server/chunks/131.js +478 -106
- package/packages/scrabble-solver/.next/server/chunks/277.js +1132 -976
- package/packages/scrabble-solver/.next/server/chunks/44.js +37 -9
- package/packages/scrabble-solver/.next/server/chunks/865.js +597 -169
- package/packages/scrabble-solver/.next/server/chunks/911.js +894 -773
- package/packages/scrabble-solver/.next/server/middleware-build-manifest.js +1 -1
- package/packages/scrabble-solver/.next/server/pages/404.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/404.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/500.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/_app.js +3 -1
- package/packages/scrabble-solver/.next/server/pages/_app.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/_document.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/api/dictionary/[locale]/[word].js +4 -2
- package/packages/scrabble-solver/.next/server/pages/api/solve.js +23 -19
- package/packages/scrabble-solver/.next/server/pages/api/verify.js +8 -5
- package/packages/scrabble-solver/.next/server/pages/index.html +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.js +42 -55
- package/packages/scrabble-solver/.next/server/pages/index.js.nft.json +1 -1
- package/packages/scrabble-solver/.next/server/pages/index.json +1 -1
- package/packages/scrabble-solver/.next/server/pages-manifest.json +2 -2
- package/packages/scrabble-solver/.next/static/{9dmPfnTc_AQTHBPvL7xQe → 8oRk1nUMQYFWmhu4SExQI}/_buildManifest.js +1 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/_app-e7f3d1c9c09c8f91.js +32 -0
- package/packages/scrabble-solver/.next/static/chunks/pages/index-82b2939158c7729f.js +1 -0
- package/packages/scrabble-solver/.next/static/css/4e8b47fe382a8a8f.css +2 -0
- package/packages/scrabble-solver/.next/static/css/cfae5256f1689f57.css +1 -0
- package/packages/scrabble-solver/.next/trace +51 -52
- package/packages/scrabble-solver/package-lock.json +158 -4898
- package/packages/scrabble-solver/package.json +8 -8
- package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.module.scss +4 -12
- package/packages/scrabble-solver/src/components/Board/components/Cell/Cell.tsx +4 -0
- package/packages/scrabble-solver/src/components/Board/hooks/useBackgroundImage.tsx +23 -0
- package/packages/scrabble-solver/src/components/PlainTiles/lib/createPlainTile.ts +4 -4
- package/packages/scrabble-solver/src/components/Radio/Radio.module.scss +4 -0
- package/packages/scrabble-solver/src/components/Radio/Radio.tsx +1 -0
- package/packages/scrabble-solver/src/components/SeoMessage/SeoMessage.tsx +3 -3
- package/packages/scrabble-solver/src/hooks/useAppLayout.ts +1 -2
- package/packages/scrabble-solver/src/hooks/useLocalStorage.ts +5 -5
- package/packages/scrabble-solver/src/i18n/constants.ts +31 -61
- package/packages/scrabble-solver/src/lib/extractCharacters.test.ts +3 -3
- package/packages/scrabble-solver/src/lib/extractCharactersByCase.test.ts +3 -3
- package/packages/scrabble-solver/src/lib/getCellSize.ts +2 -2
- package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.module.scss +0 -1
- package/packages/scrabble-solver/src/modals/MenuModal/MenuModal.tsx +3 -3
- package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/ConfigSetting.tsx +16 -7
- package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.module.scss +1 -4
- package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +8 -8
- package/packages/scrabble-solver/src/pages/_app.tsx +3 -1
- package/packages/scrabble-solver/src/pages/api/dictionary/[locale]/[word].ts +6 -3
- package/packages/scrabble-solver/src/pages/api/solve.ts +11 -7
- package/packages/scrabble-solver/src/pages/api/verify.ts +11 -7
- package/packages/scrabble-solver/src/pages/index.module.scss +0 -1
- package/packages/scrabble-solver/src/parameters/index.ts +4 -6
- package/packages/scrabble-solver/src/sdk/solve.ts +3 -3
- package/packages/scrabble-solver/src/sdk/verify.ts +3 -3
- package/packages/scrabble-solver/src/service-worker/routeSolveRequests.ts +3 -3
- package/packages/scrabble-solver/src/state/localStorage.ts +6 -6
- package/packages/scrabble-solver/src/state/sagas.ts +18 -7
- package/packages/scrabble-solver/src/state/selectors.ts +3 -3
- package/packages/scrabble-solver/src/state/slices/boardInitialState.ts +3 -3
- package/packages/scrabble-solver/src/state/slices/boardSlice.ts +20 -6
- package/packages/scrabble-solver/src/state/slices/settingsInitialState.ts +3 -4
- package/packages/scrabble-solver/src/state/slices/settingsSlice.ts +5 -5
- package/packages/scrabble-solver/src/styles/variables.scss +0 -9
- package/packages/solver/build/getPatternHash.js +2 -2
- package/packages/solver/build/solve.js +3 -1
- package/packages/solver/package-lock.json +3 -10
- package/packages/solver/package.json +5 -5
- package/packages/solver/src/fillPattern.test.ts +3 -3
- package/packages/solver/src/generatePatterns.test.ts +13 -0
- package/packages/solver/src/getPatternHash.ts +2 -2
- package/packages/solver/src/getPatternScore.test.ts +4 -3
- package/packages/solver/src/solve.test.ts +68 -6
- package/packages/solver/src/solve.ts +4 -1
- package/packages/types/build/Config.d.ts +2 -0
- package/packages/types/build/Config.js +3 -0
- package/packages/types/build/ConfigJson.d.ts +2 -1
- package/packages/types/build/Dictionary.d.ts +7 -0
- package/packages/types/build/Dictionary.js +2 -0
- package/packages/types/build/Game.d.ts +7 -0
- package/packages/types/build/Game.js +13 -0
- package/packages/types/build/Locale.d.ts +5 -0
- package/packages/types/build/Locale.js +5 -1
- package/packages/types/build/index.d.ts +4 -2
- package/packages/types/build/index.js +8 -5
- package/packages/types/package.json +2 -2
- package/packages/types/src/Config.ts +5 -0
- package/packages/types/src/ConfigJson.ts +2 -1
- package/packages/types/src/Dictionary.ts +9 -0
- package/packages/types/src/Game.ts +11 -0
- package/packages/types/src/Locale.ts +5 -1
- package/packages/types/src/index.ts +4 -2
- package/packages/word-definitions/build/lib/normalizeDefinition.js +3 -1
- package/packages/word-definitions/package-lock.json +13 -163
- package/packages/word-definitions/package.json +2 -2
- package/packages/word-definitions/src/lib/normalizeDefinition.ts +3 -1
- package/packages/word-lists/build/getFrFrWordList.js +1 -3
- package/packages/word-lists/package-lock.json +9 -401
- package/packages/word-lists/package.json +2 -2
- package/packages/word-lists/src/getFrFrWordList.ts +1 -3
- package/packages/configs/build/getLocaleConfig.d.ts +0 -3
- package/packages/configs/build/getLocaleConfig.js +0 -10
- package/packages/configs/build/isConfigId.d.ts +0 -2
- package/packages/configs/build/isConfigId.js +0 -12
- package/packages/configs/build/literaki/bonuses.d.ts +0 -14
- package/packages/configs/build/literaki/bonuses.js +0 -99
- package/packages/configs/build/literaki/index.d.ts +0 -1
- package/packages/configs/build/literaki/index.js +0 -8
- package/packages/configs/build/literaki/literaki.d.ts +0 -13
- package/packages/configs/build/literaki/literaki.js +0 -31
- package/packages/configs/build/literaki/tiles/index.d.ts +0 -6
- package/packages/configs/build/literaki/tiles/index.js +0 -18
- package/packages/configs/build/literaki/tiles/tilesDe.d.ts +0 -6
- package/packages/configs/build/literaki/tiles/tilesDe.js +0 -34
- package/packages/configs/build/literaki/tiles/tilesEn.d.ts +0 -6
- package/packages/configs/build/literaki/tiles/tilesEn.js +0 -31
- package/packages/configs/build/literaki/tiles/tilesEs.d.ts +0 -6
- package/packages/configs/build/literaki/tiles/tilesEs.js +0 -33
- package/packages/configs/build/literaki/tiles/tilesFa.d.ts +0 -6
- package/packages/configs/build/literaki/tiles/tilesFa.js +0 -37
- package/packages/configs/build/literaki/tiles/tilesFr.d.ts +0 -6
- package/packages/configs/build/literaki/tiles/tilesFr.js +0 -31
- package/packages/configs/build/literaki/tiles/tilesPl.d.ts +0 -6
- package/packages/configs/build/literaki/tiles/tilesPl.js +0 -37
- package/packages/configs/build/scrabble/bonuses.d.ts +0 -7
- package/packages/configs/build/scrabble/bonuses.js +0 -67
- package/packages/configs/build/scrabble/index.d.ts +0 -1
- package/packages/configs/build/scrabble/index.js +0 -8
- package/packages/configs/build/scrabble/scrabble.d.ts +0 -13
- package/packages/configs/build/scrabble/scrabble.js +0 -31
- package/packages/configs/build/scrabble/tiles/index.d.ts +0 -6
- package/packages/configs/build/scrabble/tiles/index.js +0 -18
- package/packages/configs/build/scrabble/tiles/tilesDe.d.ts +0 -6
- package/packages/configs/build/scrabble/tiles/tilesDe.js +0 -34
- package/packages/configs/build/scrabble/tiles/tilesEn.d.ts +0 -6
- package/packages/configs/build/scrabble/tiles/tilesEn.js +0 -31
- package/packages/configs/build/scrabble/tiles/tilesEs.d.ts +0 -6
- package/packages/configs/build/scrabble/tiles/tilesEs.js +0 -33
- package/packages/configs/build/scrabble/tiles/tilesFa.d.ts +0 -6
- package/packages/configs/build/scrabble/tiles/tilesFa.js +0 -37
- package/packages/configs/build/scrabble/tiles/tilesFr.d.ts +0 -6
- package/packages/configs/build/scrabble/tiles/tilesFr.js +0 -31
- package/packages/configs/build/scrabble/tiles/tilesPl.d.ts +0 -6
- package/packages/configs/build/scrabble/tiles/tilesPl.js +0 -37
- package/packages/configs/src/getLocaleConfig.ts +0 -9
- package/packages/configs/src/isConfigId.ts +0 -10
- package/packages/configs/src/literaki/bonuses.ts +0 -99
- package/packages/configs/src/literaki/index.ts +0 -1
- package/packages/configs/src/literaki/literaki.ts +0 -30
- package/packages/configs/src/literaki/tiles/index.ts +0 -6
- package/packages/configs/src/literaki/tiles/tilesDe.ts +0 -33
- package/packages/configs/src/literaki/tiles/tilesEn.ts +0 -30
- package/packages/configs/src/literaki/tiles/tilesEs.ts +0 -32
- package/packages/configs/src/literaki/tiles/tilesFa.ts +0 -36
- package/packages/configs/src/literaki/tiles/tilesFr.ts +0 -30
- package/packages/configs/src/literaki/tiles/tilesPl.ts +0 -36
- package/packages/configs/src/scrabble/bonuses.ts +0 -67
- package/packages/configs/src/scrabble/index.ts +0 -1
- package/packages/configs/src/scrabble/scrabble.ts +0 -30
- package/packages/configs/src/scrabble/tiles/index.ts +0 -6
- package/packages/configs/src/scrabble/tiles/tilesDe.ts +0 -33
- package/packages/configs/src/scrabble/tiles/tilesEn.ts +0 -30
- package/packages/configs/src/scrabble/tiles/tilesEs.ts +0 -32
- package/packages/configs/src/scrabble/tiles/tilesFa.ts +0 -36
- package/packages/configs/src/scrabble/tiles/tilesFr.ts +0 -30
- package/packages/configs/src/scrabble/tiles/tilesPl.ts +0 -36
- package/packages/dictionaries/.scrabble-solver/dictionaries/de-DE.txt +0 -1
- package/packages/dictionaries/.scrabble-solver/dictionaries/en-GB.txt +0 -1
- package/packages/dictionaries/.scrabble-solver/dictionaries/en-US.txt +0 -1
- package/packages/dictionaries/.scrabble-solver/dictionaries/es-ES.txt +0 -1
- package/packages/dictionaries/.scrabble-solver/dictionaries/fa-IR.txt +0 -1
- package/packages/dictionaries/.scrabble-solver/dictionaries/fr-FR.txt +0 -1
- package/packages/dictionaries/.scrabble-solver/dictionaries/pl-PL.txt +0 -1
- package/packages/scrabble-solver/.next/static/chunks/pages/_app-02851b06b95b19cb.js +0 -32
- package/packages/scrabble-solver/.next/static/chunks/pages/index-0ba5607d1aad8a09.js +0 -1
- package/packages/scrabble-solver/.next/static/css/09dfdea53eba31a9.css +0 -2
- package/packages/scrabble-solver/.next/static/css/60e8258da7362a1a.css +0 -1
- package/packages/scrabble-solver/src/i18n/i18n.module.scss +0 -27
- package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/options.ts +0 -19
- package/packages/scrabble-solver/src/modals/SettingsModal/components/ConfigSetting/types.ts +0 -9
- package/packages/scrabble-solver/src/modals/SettingsModal/components/InputModeSetting/types.ts +0 -7
- package/packages/scrabble-solver/src/modals/SettingsModal/components/LocaleSetting/types.ts +0 -9
- /package/packages/scrabble-solver/.next/static/{9dmPfnTc_AQTHBPvL7xQe → 8oRk1nUMQYFWmhu4SExQI}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { BONUS_CHARACTER, BONUS_WORD } from '@scrabble-solver/constants';
|
|
2
|
+
import { Game } from '@scrabble-solver/types';
|
|
3
|
+
|
|
4
|
+
const literaki = {
|
|
5
|
+
allTilesBonusScore: 50,
|
|
6
|
+
blankScore: 0,
|
|
7
|
+
blanksCount: 2,
|
|
8
|
+
boardHeight: 15,
|
|
9
|
+
boardWidth: 15,
|
|
10
|
+
game: Game.Literaki,
|
|
11
|
+
maximumCharactersCount: 7,
|
|
12
|
+
name: 'Literaki',
|
|
13
|
+
bonuses: [
|
|
14
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 0, y: 0 },
|
|
15
|
+
{ multiplier: 3, type: BONUS_WORD, x: 2, y: 0 },
|
|
16
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 5, y: 0 },
|
|
17
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 7, y: 0 },
|
|
18
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 9, y: 0 },
|
|
19
|
+
{ multiplier: 3, type: BONUS_WORD, x: 12, y: 0 },
|
|
20
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 14, y: 0 },
|
|
21
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 4, y: 1 },
|
|
22
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 6, y: 1 },
|
|
23
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 8, y: 1 },
|
|
24
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 10, y: 1 },
|
|
25
|
+
{ multiplier: 3, type: BONUS_WORD, x: 0, y: 2 },
|
|
26
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 3, y: 2 },
|
|
27
|
+
{ multiplier: 2, type: BONUS_WORD, x: 5, y: 2 },
|
|
28
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 7, y: 2 },
|
|
29
|
+
{ multiplier: 2, type: BONUS_WORD, x: 9, y: 2 },
|
|
30
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 11, y: 2 },
|
|
31
|
+
{ multiplier: 3, type: BONUS_WORD, x: 14, y: 2 },
|
|
32
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 2, y: 3 },
|
|
33
|
+
{ multiplier: 2, type: BONUS_WORD, x: 4, y: 3 },
|
|
34
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 6, y: 3 },
|
|
35
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 8, y: 3 },
|
|
36
|
+
{ multiplier: 2, type: BONUS_WORD, x: 10, y: 3 },
|
|
37
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 12, y: 3 },
|
|
38
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 1, y: 4 },
|
|
39
|
+
{ multiplier: 2, type: BONUS_WORD, x: 3, y: 4 },
|
|
40
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 5, y: 4 },
|
|
41
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 9, y: 4 },
|
|
42
|
+
{ multiplier: 2, type: BONUS_WORD, x: 11, y: 4 },
|
|
43
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 13, y: 4 },
|
|
44
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 0, y: 5 },
|
|
45
|
+
{ multiplier: 2, type: BONUS_WORD, x: 2, y: 5 },
|
|
46
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 4, y: 5 },
|
|
47
|
+
{ multiplier: 3, score: 3, type: BONUS_CHARACTER, x: 7, y: 5 },
|
|
48
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 10, y: 5 },
|
|
49
|
+
{ multiplier: 2, type: BONUS_WORD, x: 12, y: 5 },
|
|
50
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 14, y: 5 },
|
|
51
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 1, y: 6 },
|
|
52
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 3, y: 6 },
|
|
53
|
+
{ multiplier: 3, score: 3, type: BONUS_CHARACTER, x: 6, y: 6 },
|
|
54
|
+
{ multiplier: 3, score: 3, type: BONUS_CHARACTER, x: 8, y: 6 },
|
|
55
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 11, y: 6 },
|
|
56
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 13, y: 6 },
|
|
57
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 0, y: 7 },
|
|
58
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 2, y: 7 },
|
|
59
|
+
{ multiplier: 3, score: 3, type: BONUS_CHARACTER, x: 5, y: 7 },
|
|
60
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 7, y: 7 },
|
|
61
|
+
{ multiplier: 3, score: 3, type: BONUS_CHARACTER, x: 9, y: 7 },
|
|
62
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 12, y: 7 },
|
|
63
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 14, y: 7 },
|
|
64
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 1, y: 8 },
|
|
65
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 3, y: 8 },
|
|
66
|
+
{ multiplier: 3, score: 3, type: BONUS_CHARACTER, x: 6, y: 8 },
|
|
67
|
+
{ multiplier: 3, score: 3, type: BONUS_CHARACTER, x: 8, y: 8 },
|
|
68
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 11, y: 8 },
|
|
69
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 13, y: 8 },
|
|
70
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 0, y: 9 },
|
|
71
|
+
{ multiplier: 2, type: BONUS_WORD, x: 2, y: 9 },
|
|
72
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 4, y: 9 },
|
|
73
|
+
{ multiplier: 3, score: 3, type: BONUS_CHARACTER, x: 7, y: 9 },
|
|
74
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 10, y: 9 },
|
|
75
|
+
{ multiplier: 2, type: BONUS_WORD, x: 12, y: 9 },
|
|
76
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 14, y: 9 },
|
|
77
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 1, y: 10 },
|
|
78
|
+
{ multiplier: 2, type: BONUS_WORD, x: 3, y: 10 },
|
|
79
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 5, y: 10 },
|
|
80
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 9, y: 10 },
|
|
81
|
+
{ multiplier: 2, type: BONUS_WORD, x: 11, y: 10 },
|
|
82
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 13, y: 10 },
|
|
83
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 2, y: 11 },
|
|
84
|
+
{ multiplier: 2, type: BONUS_WORD, x: 4, y: 11 },
|
|
85
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 6, y: 11 },
|
|
86
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 8, y: 11 },
|
|
87
|
+
{ multiplier: 2, type: BONUS_WORD, x: 10, y: 11 },
|
|
88
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 12, y: 11 },
|
|
89
|
+
{ multiplier: 3, type: BONUS_WORD, x: 0, y: 12 },
|
|
90
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 3, y: 12 },
|
|
91
|
+
{ multiplier: 2, type: BONUS_WORD, x: 5, y: 12 },
|
|
92
|
+
{ multiplier: 3, score: 1, type: BONUS_CHARACTER, x: 7, y: 12 },
|
|
93
|
+
{ multiplier: 2, type: BONUS_WORD, x: 9, y: 12 },
|
|
94
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 11, y: 12 },
|
|
95
|
+
{ multiplier: 3, type: BONUS_WORD, x: 14, y: 12 },
|
|
96
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 4, y: 13 },
|
|
97
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 6, y: 13 },
|
|
98
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 8, y: 13 },
|
|
99
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 10, y: 13 },
|
|
100
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 0, y: 14 },
|
|
101
|
+
{ multiplier: 3, type: BONUS_WORD, x: 2, y: 14 },
|
|
102
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 5, y: 14 },
|
|
103
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 7, y: 14 },
|
|
104
|
+
{ multiplier: 3, score: 2, type: BONUS_CHARACTER, x: 9, y: 14 },
|
|
105
|
+
{ multiplier: 3, type: BONUS_WORD, x: 12, y: 14 },
|
|
106
|
+
{ multiplier: 3, score: 5, type: BONUS_CHARACTER, x: 14, y: 14 },
|
|
107
|
+
],
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
export default literaki;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { BONUS_CHARACTER, BONUS_WORD } from '@scrabble-solver/constants';
|
|
2
|
+
import { Game } from '@scrabble-solver/types';
|
|
3
|
+
|
|
4
|
+
const scrabble = {
|
|
5
|
+
allTilesBonusScore: 50,
|
|
6
|
+
blankScore: 0,
|
|
7
|
+
blanksCount: 2,
|
|
8
|
+
boardHeight: 15,
|
|
9
|
+
boardWidth: 15,
|
|
10
|
+
game: Game.Scrabble,
|
|
11
|
+
maximumCharactersCount: 7,
|
|
12
|
+
name: 'Scrabble',
|
|
13
|
+
bonuses: [
|
|
14
|
+
{ multiplier: 3, type: BONUS_WORD, x: 0, y: 0 },
|
|
15
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 3, y: 0 },
|
|
16
|
+
{ multiplier: 3, type: BONUS_WORD, x: 7, y: 0 },
|
|
17
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 11, y: 0 },
|
|
18
|
+
{ multiplier: 3, type: BONUS_WORD, x: 14, y: 0 },
|
|
19
|
+
{ multiplier: 2, type: BONUS_WORD, x: 1, y: 1 },
|
|
20
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 5, y: 1 },
|
|
21
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 9, y: 1 },
|
|
22
|
+
{ multiplier: 2, type: BONUS_WORD, x: 13, y: 1 },
|
|
23
|
+
{ multiplier: 2, type: BONUS_WORD, x: 2, y: 2 },
|
|
24
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 6, y: 2 },
|
|
25
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 8, y: 2 },
|
|
26
|
+
{ multiplier: 2, type: BONUS_WORD, x: 12, y: 2 },
|
|
27
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 0, y: 3 },
|
|
28
|
+
{ multiplier: 2, type: BONUS_WORD, x: 3, y: 3 },
|
|
29
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 7, y: 3 },
|
|
30
|
+
{ multiplier: 2, type: BONUS_WORD, x: 11, y: 3 },
|
|
31
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 14, y: 3 },
|
|
32
|
+
{ multiplier: 2, type: BONUS_WORD, x: 4, y: 4 },
|
|
33
|
+
{ multiplier: 2, type: BONUS_WORD, x: 10, y: 4 },
|
|
34
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 1, y: 5 },
|
|
35
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 5, y: 5 },
|
|
36
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 9, y: 5 },
|
|
37
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 13, y: 5 },
|
|
38
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 2, y: 6 },
|
|
39
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 6, y: 6 },
|
|
40
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 8, y: 6 },
|
|
41
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 12, y: 6 },
|
|
42
|
+
{ multiplier: 3, type: BONUS_WORD, x: 0, y: 7 },
|
|
43
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 3, y: 7 },
|
|
44
|
+
{ multiplier: 2, type: BONUS_WORD, x: 7, y: 7 },
|
|
45
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 11, y: 7 },
|
|
46
|
+
{ multiplier: 3, type: BONUS_WORD, x: 14, y: 7 },
|
|
47
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 2, y: 8 },
|
|
48
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 6, y: 8 },
|
|
49
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 8, y: 8 },
|
|
50
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 12, y: 8 },
|
|
51
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 1, y: 9 },
|
|
52
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 5, y: 9 },
|
|
53
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 9, y: 9 },
|
|
54
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 13, y: 9 },
|
|
55
|
+
{ multiplier: 2, type: BONUS_WORD, x: 4, y: 10 },
|
|
56
|
+
{ multiplier: 2, type: BONUS_WORD, x: 10, y: 10 },
|
|
57
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 0, y: 11 },
|
|
58
|
+
{ multiplier: 2, type: BONUS_WORD, x: 3, y: 11 },
|
|
59
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 7, y: 11 },
|
|
60
|
+
{ multiplier: 2, type: BONUS_WORD, x: 11, y: 11 },
|
|
61
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 14, y: 11 },
|
|
62
|
+
{ multiplier: 2, type: BONUS_WORD, x: 2, y: 12 },
|
|
63
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 6, y: 12 },
|
|
64
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 8, y: 12 },
|
|
65
|
+
{ multiplier: 2, type: BONUS_WORD, x: 12, y: 12 },
|
|
66
|
+
{ multiplier: 2, type: BONUS_WORD, x: 1, y: 13 },
|
|
67
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 5, y: 13 },
|
|
68
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 9, y: 13 },
|
|
69
|
+
{ multiplier: 2, type: BONUS_WORD, x: 13, y: 13 },
|
|
70
|
+
{ multiplier: 3, type: BONUS_WORD, x: 0, y: 14 },
|
|
71
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 3, y: 14 },
|
|
72
|
+
{ multiplier: 3, type: BONUS_WORD, x: 7, y: 14 },
|
|
73
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 11, y: 14 },
|
|
74
|
+
{ multiplier: 3, type: BONUS_WORD, x: 14, y: 14 },
|
|
75
|
+
],
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export default scrabble;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { BONUS_CHARACTER, BONUS_WORD } from '@scrabble-solver/constants';
|
|
2
|
+
import { Game } from '@scrabble-solver/types';
|
|
3
|
+
|
|
4
|
+
const scrabble = {
|
|
5
|
+
allTilesBonusScore: 50,
|
|
6
|
+
blankScore: 0,
|
|
7
|
+
blanksCount: 4,
|
|
8
|
+
boardHeight: 21,
|
|
9
|
+
boardWidth: 21,
|
|
10
|
+
game: Game.SuperScrabble,
|
|
11
|
+
maximumCharactersCount: 7,
|
|
12
|
+
name: 'Super Scrabble',
|
|
13
|
+
bonuses: [
|
|
14
|
+
{ multiplier: 4, type: BONUS_WORD, x: 0, y: 0 },
|
|
15
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 3, y: 0 },
|
|
16
|
+
{ multiplier: 3, type: BONUS_WORD, x: 7, y: 0 },
|
|
17
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 10, y: 0 },
|
|
18
|
+
{ multiplier: 3, type: BONUS_WORD, x: 13, y: 0 },
|
|
19
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 17, y: 0 },
|
|
20
|
+
{ multiplier: 4, type: BONUS_WORD, x: 20, y: 0 },
|
|
21
|
+
{ multiplier: 2, type: BONUS_WORD, x: 1, y: 1 },
|
|
22
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 4, y: 1 },
|
|
23
|
+
{ multiplier: 2, type: BONUS_WORD, x: 8, y: 1 },
|
|
24
|
+
{ multiplier: 2, type: BONUS_WORD, x: 12, y: 1 },
|
|
25
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 16, y: 1 },
|
|
26
|
+
{ multiplier: 2, type: BONUS_WORD, x: 19, y: 1 },
|
|
27
|
+
{ multiplier: 2, type: BONUS_WORD, x: 2, y: 2 },
|
|
28
|
+
{ multiplier: 4, type: BONUS_CHARACTER, x: 5, y: 2 },
|
|
29
|
+
{ multiplier: 2, type: BONUS_WORD, x: 9, y: 2 },
|
|
30
|
+
{ multiplier: 2, type: BONUS_WORD, x: 11, y: 2 },
|
|
31
|
+
{ multiplier: 4, type: BONUS_CHARACTER, x: 15, y: 2 },
|
|
32
|
+
{ multiplier: 2, type: BONUS_WORD, x: 18, y: 2 },
|
|
33
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 0, y: 3 },
|
|
34
|
+
{ multiplier: 3, type: BONUS_WORD, x: 3, y: 3 },
|
|
35
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 6, y: 3 },
|
|
36
|
+
{ multiplier: 3, type: BONUS_WORD, x: 10, y: 3 },
|
|
37
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 14, y: 3 },
|
|
38
|
+
{ multiplier: 3, type: BONUS_WORD, x: 17, y: 3 },
|
|
39
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 20, y: 3 },
|
|
40
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 1, y: 4 },
|
|
41
|
+
{ multiplier: 2, type: BONUS_WORD, x: 4, y: 4 },
|
|
42
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 8, y: 4 },
|
|
43
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 12, y: 4 },
|
|
44
|
+
{ multiplier: 2, type: BONUS_WORD, x: 16, y: 4 },
|
|
45
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 19, y: 4 },
|
|
46
|
+
{ multiplier: 4, type: BONUS_CHARACTER, x: 2, y: 5 },
|
|
47
|
+
{ multiplier: 2, type: BONUS_WORD, x: 5, y: 5 },
|
|
48
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 9, y: 5 },
|
|
49
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 11, y: 5 },
|
|
50
|
+
{ multiplier: 2, type: BONUS_WORD, x: 15, y: 5 },
|
|
51
|
+
{ multiplier: 4, type: BONUS_CHARACTER, x: 18, y: 5 },
|
|
52
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 3, y: 6 },
|
|
53
|
+
{ multiplier: 2, type: BONUS_WORD, x: 6, y: 6 },
|
|
54
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 10, y: 6 },
|
|
55
|
+
{ multiplier: 2, type: BONUS_WORD, x: 14, y: 6 },
|
|
56
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 17, y: 6 },
|
|
57
|
+
{ multiplier: 3, type: BONUS_WORD, x: 0, y: 7 },
|
|
58
|
+
{ multiplier: 2, type: BONUS_WORD, x: 7, y: 7 },
|
|
59
|
+
{ multiplier: 2, type: BONUS_WORD, x: 13, y: 7 },
|
|
60
|
+
{ multiplier: 3, type: BONUS_WORD, x: 20, y: 7 },
|
|
61
|
+
{ multiplier: 2, type: BONUS_WORD, x: 1, y: 8 },
|
|
62
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 4, y: 8 },
|
|
63
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 8, y: 8 },
|
|
64
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 12, y: 8 },
|
|
65
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 16, y: 8 },
|
|
66
|
+
{ multiplier: 2, type: BONUS_WORD, x: 19, y: 8 },
|
|
67
|
+
{ multiplier: 2, type: BONUS_WORD, x: 2, y: 9 },
|
|
68
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 5, y: 9 },
|
|
69
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 9, y: 9 },
|
|
70
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 11, y: 9 },
|
|
71
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 15, y: 9 },
|
|
72
|
+
{ multiplier: 2, type: BONUS_WORD, x: 18, y: 9 },
|
|
73
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 0, y: 10 },
|
|
74
|
+
{ multiplier: 3, type: BONUS_WORD, x: 3, y: 10 },
|
|
75
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 6, y: 10 },
|
|
76
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 14, y: 10 },
|
|
77
|
+
{ multiplier: 3, type: BONUS_WORD, x: 17, y: 10 },
|
|
78
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 20, y: 10 },
|
|
79
|
+
{ multiplier: 2, type: BONUS_WORD, x: 2, y: 11 },
|
|
80
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 5, y: 11 },
|
|
81
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 9, y: 11 },
|
|
82
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 11, y: 11 },
|
|
83
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 15, y: 11 },
|
|
84
|
+
{ multiplier: 2, type: BONUS_WORD, x: 18, y: 11 },
|
|
85
|
+
{ multiplier: 2, type: BONUS_WORD, x: 1, y: 12 },
|
|
86
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 4, y: 12 },
|
|
87
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 8, y: 12 },
|
|
88
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 12, y: 12 },
|
|
89
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 16, y: 12 },
|
|
90
|
+
{ multiplier: 2, type: BONUS_WORD, x: 19, y: 12 },
|
|
91
|
+
{ multiplier: 3, type: BONUS_WORD, x: 0, y: 13 },
|
|
92
|
+
{ multiplier: 2, type: BONUS_WORD, x: 7, y: 13 },
|
|
93
|
+
{ multiplier: 2, type: BONUS_WORD, x: 13, y: 13 },
|
|
94
|
+
{ multiplier: 3, type: BONUS_WORD, x: 20, y: 13 },
|
|
95
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 3, y: 14 },
|
|
96
|
+
{ multiplier: 2, type: BONUS_WORD, x: 6, y: 14 },
|
|
97
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 10, y: 14 },
|
|
98
|
+
{ multiplier: 2, type: BONUS_WORD, x: 14, y: 14 },
|
|
99
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 17, y: 14 },
|
|
100
|
+
{ multiplier: 4, type: BONUS_CHARACTER, x: 2, y: 15 },
|
|
101
|
+
{ multiplier: 2, type: BONUS_WORD, x: 5, y: 15 },
|
|
102
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 9, y: 15 },
|
|
103
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 11, y: 15 },
|
|
104
|
+
{ multiplier: 2, type: BONUS_WORD, x: 15, y: 15 },
|
|
105
|
+
{ multiplier: 4, type: BONUS_CHARACTER, x: 18, y: 15 },
|
|
106
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 1, y: 16 },
|
|
107
|
+
{ multiplier: 2, type: BONUS_WORD, x: 4, y: 16 },
|
|
108
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 8, y: 16 },
|
|
109
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 12, y: 16 },
|
|
110
|
+
{ multiplier: 2, type: BONUS_WORD, x: 16, y: 16 },
|
|
111
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 19, y: 16 },
|
|
112
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 0, y: 17 },
|
|
113
|
+
{ multiplier: 3, type: BONUS_WORD, x: 3, y: 17 },
|
|
114
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 6, y: 17 },
|
|
115
|
+
{ multiplier: 3, type: BONUS_WORD, x: 10, y: 17 },
|
|
116
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 14, y: 17 },
|
|
117
|
+
{ multiplier: 3, type: BONUS_WORD, x: 17, y: 17 },
|
|
118
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 20, y: 17 },
|
|
119
|
+
{ multiplier: 2, type: BONUS_WORD, x: 2, y: 18 },
|
|
120
|
+
{ multiplier: 4, type: BONUS_CHARACTER, x: 5, y: 18 },
|
|
121
|
+
{ multiplier: 2, type: BONUS_WORD, x: 9, y: 18 },
|
|
122
|
+
{ multiplier: 2, type: BONUS_WORD, x: 11, y: 18 },
|
|
123
|
+
{ multiplier: 4, type: BONUS_CHARACTER, x: 15, y: 18 },
|
|
124
|
+
{ multiplier: 2, type: BONUS_WORD, x: 18, y: 18 },
|
|
125
|
+
{ multiplier: 2, type: BONUS_WORD, x: 1, y: 19 },
|
|
126
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 4, y: 19 },
|
|
127
|
+
{ multiplier: 2, type: BONUS_WORD, x: 8, y: 19 },
|
|
128
|
+
{ multiplier: 2, type: BONUS_WORD, x: 12, y: 19 },
|
|
129
|
+
{ multiplier: 3, type: BONUS_CHARACTER, x: 16, y: 19 },
|
|
130
|
+
{ multiplier: 2, type: BONUS_WORD, x: 19, y: 19 },
|
|
131
|
+
{ multiplier: 4, type: BONUS_WORD, x: 0, y: 20 },
|
|
132
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 3, y: 20 },
|
|
133
|
+
{ multiplier: 3, type: BONUS_WORD, x: 7, y: 20 },
|
|
134
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 10, y: 20 },
|
|
135
|
+
{ multiplier: 3, type: BONUS_WORD, x: 13, y: 20 },
|
|
136
|
+
{ multiplier: 2, type: BONUS_CHARACTER, x: 17, y: 20 },
|
|
137
|
+
{ multiplier: 4, type: BONUS_WORD, x: 20, y: 20 },
|
|
138
|
+
],
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
export default scrabble;
|
|
@@ -1,23 +1,16 @@
|
|
|
1
|
-
import { Config, Locale } from '@scrabble-solver/types';
|
|
1
|
+
import { Config, Game, Locale } from '@scrabble-solver/types';
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import scrabble from './scrabble';
|
|
3
|
+
import * as locales from './locales';
|
|
5
4
|
|
|
6
|
-
const
|
|
5
|
+
const getConfig = (game: Game, locale: Locale): Config => {
|
|
6
|
+
const configs = Object.values(locales).flat();
|
|
7
|
+
const localeConfig = configs.find((config) => config.game === game && config.locale === locale);
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
name: string;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
const getConfig = (configId: string): Result => {
|
|
14
|
-
const config = configs.find(({ id }) => id === configId);
|
|
15
|
-
|
|
16
|
-
if (!config) {
|
|
17
|
-
throw new Error(`Invalid "configId" parameter: not one of ${configs.map(({ id }) => id).join('/')}`);
|
|
9
|
+
if (typeof localeConfig === 'undefined') {
|
|
10
|
+
throw new Error(`No game "${game}" in "${locale}"`);
|
|
18
11
|
}
|
|
19
12
|
|
|
20
|
-
return
|
|
13
|
+
return localeConfig;
|
|
21
14
|
};
|
|
22
15
|
|
|
23
16
|
export default getConfig;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Game, Locale } from '@scrabble-solver/types';
|
|
2
|
+
|
|
3
|
+
import * as locales from './locales';
|
|
4
|
+
|
|
5
|
+
const hasConfig = (game: Game, locale: Locale): boolean => {
|
|
6
|
+
const configs = Object.values(locales).flat();
|
|
7
|
+
return configs.some((config) => config.game === game && config.locale === locale);
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export default hasConfig;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import * as games from './games';
|
|
2
|
+
import * as locales from './locales';
|
|
3
|
+
|
|
4
|
+
const localesMap = Object.fromEntries(Object.values(locales).map((configs) => [configs[0].locale, configs]));
|
|
5
|
+
|
|
1
6
|
export { default as getConfig } from './getConfig';
|
|
2
|
-
export { default as
|
|
3
|
-
export {
|
|
4
|
-
export { default as literaki } from './literaki';
|
|
5
|
-
export { default as scrabble } from './scrabble';
|
|
7
|
+
export { default as hasConfig } from './hasConfig';
|
|
8
|
+
export { games, locales, localesMap };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Config, Locale } from '@scrabble-solver/types';
|
|
2
|
+
|
|
3
|
+
import { scrabble } from '../games';
|
|
4
|
+
|
|
5
|
+
const deDe: Config[] = [
|
|
6
|
+
new Config({
|
|
7
|
+
...scrabble,
|
|
8
|
+
locale: Locale.DE_DE,
|
|
9
|
+
tiles: [
|
|
10
|
+
{ character: 'a', count: 5, score: 1 },
|
|
11
|
+
{ character: 'ä', count: 1, score: 6 },
|
|
12
|
+
{ character: 'b', count: 2, score: 3 },
|
|
13
|
+
{ character: 'c', count: 2, score: 4 },
|
|
14
|
+
{ character: 'd', count: 4, score: 1 },
|
|
15
|
+
{ character: 'e', count: 15, score: 1 },
|
|
16
|
+
{ character: 'f', count: 2, score: 4 },
|
|
17
|
+
{ character: 'g', count: 3, score: 2 },
|
|
18
|
+
{ character: 'h', count: 4, score: 2 },
|
|
19
|
+
{ character: 'i', count: 6, score: 1 },
|
|
20
|
+
{ character: 'j', count: 1, score: 6 },
|
|
21
|
+
{ character: 'k', count: 2, score: 4 },
|
|
22
|
+
{ character: 'l', count: 3, score: 2 },
|
|
23
|
+
{ character: 'm', count: 4, score: 3 },
|
|
24
|
+
{ character: 'n', count: 9, score: 1 },
|
|
25
|
+
{ character: 'o', count: 3, score: 2 },
|
|
26
|
+
{ character: 'ö', count: 1, score: 8 },
|
|
27
|
+
{ character: 'p', count: 1, score: 4 },
|
|
28
|
+
{ character: 'q', count: 1, score: 10 },
|
|
29
|
+
{ character: 'r', count: 6, score: 1 },
|
|
30
|
+
{ character: 's', count: 7, score: 1 },
|
|
31
|
+
{ character: 't', count: 6, score: 1 },
|
|
32
|
+
{ character: 'u', count: 6, score: 1 },
|
|
33
|
+
{ character: 'ü', count: 1, score: 6 },
|
|
34
|
+
{ character: 'v', count: 1, score: 6 },
|
|
35
|
+
{ character: 'w', count: 1, score: 3 },
|
|
36
|
+
{ character: 'x', count: 1, score: 8 },
|
|
37
|
+
{ character: 'y', count: 1, score: 10 },
|
|
38
|
+
{ character: 'z', count: 1, score: 3 },
|
|
39
|
+
],
|
|
40
|
+
}),
|
|
41
|
+
];
|
|
42
|
+
|
|
43
|
+
export default deDe;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Config, Locale } from '@scrabble-solver/types';
|
|
2
|
+
|
|
3
|
+
import { literaki, scrabble, superScrabble } from '../games';
|
|
4
|
+
|
|
5
|
+
const enGb: Config[] = [
|
|
6
|
+
new Config({
|
|
7
|
+
...scrabble,
|
|
8
|
+
locale: Locale.EN_GB,
|
|
9
|
+
tiles: [
|
|
10
|
+
{ character: 'a', count: 9, score: 1 },
|
|
11
|
+
{ character: 'b', count: 2, score: 3 },
|
|
12
|
+
{ character: 'c', count: 2, score: 3 },
|
|
13
|
+
{ character: 'd', count: 4, score: 2 },
|
|
14
|
+
{ character: 'e', count: 12, score: 1 },
|
|
15
|
+
{ character: 'f', count: 2, score: 4 },
|
|
16
|
+
{ character: 'g', count: 3, score: 2 },
|
|
17
|
+
{ character: 'h', count: 2, score: 4 },
|
|
18
|
+
{ character: 'i', count: 9, score: 1 },
|
|
19
|
+
{ character: 'j', count: 1, score: 8 },
|
|
20
|
+
{ character: 'k', count: 1, score: 5 },
|
|
21
|
+
{ character: 'l', count: 4, score: 1 },
|
|
22
|
+
{ character: 'm', count: 2, score: 3 },
|
|
23
|
+
{ character: 'n', count: 6, score: 1 },
|
|
24
|
+
{ character: 'o', count: 8, score: 1 },
|
|
25
|
+
{ character: 'p', count: 2, score: 3 },
|
|
26
|
+
{ character: 'q', count: 1, score: 10 },
|
|
27
|
+
{ character: 'r', count: 6, score: 1 },
|
|
28
|
+
{ character: 's', count: 4, score: 1 },
|
|
29
|
+
{ character: 't', count: 6, score: 1 },
|
|
30
|
+
{ character: 'u', count: 4, score: 1 },
|
|
31
|
+
{ character: 'v', count: 2, score: 4 },
|
|
32
|
+
{ character: 'w', count: 2, score: 4 },
|
|
33
|
+
{ character: 'x', count: 1, score: 8 },
|
|
34
|
+
{ character: 'y', count: 2, score: 4 },
|
|
35
|
+
{ character: 'z', count: 1, score: 10 },
|
|
36
|
+
],
|
|
37
|
+
}),
|
|
38
|
+
new Config({
|
|
39
|
+
...superScrabble,
|
|
40
|
+
locale: Locale.EN_GB,
|
|
41
|
+
tiles: [
|
|
42
|
+
{ character: 'a', count: 16, score: 1 },
|
|
43
|
+
{ character: 'b', count: 4, score: 3 },
|
|
44
|
+
{ character: 'c', count: 6, score: 3 },
|
|
45
|
+
{ character: 'd', count: 8, score: 2 },
|
|
46
|
+
{ character: 'e', count: 24, score: 1 },
|
|
47
|
+
{ character: 'f', count: 4, score: 4 },
|
|
48
|
+
{ character: 'g', count: 5, score: 2 },
|
|
49
|
+
{ character: 'h', count: 5, score: 4 },
|
|
50
|
+
{ character: 'i', count: 13, score: 1 },
|
|
51
|
+
{ character: 'j', count: 2, score: 8 },
|
|
52
|
+
{ character: 'k', count: 2, score: 5 },
|
|
53
|
+
{ character: 'l', count: 7, score: 1 },
|
|
54
|
+
{ character: 'm', count: 6, score: 3 },
|
|
55
|
+
{ character: 'n', count: 13, score: 1 },
|
|
56
|
+
{ character: 'o', count: 15, score: 1 },
|
|
57
|
+
{ character: 'p', count: 4, score: 3 },
|
|
58
|
+
{ character: 'q', count: 2, score: 10 },
|
|
59
|
+
{ character: 'r', count: 13, score: 1 },
|
|
60
|
+
{ character: 's', count: 10, score: 1 },
|
|
61
|
+
{ character: 't', count: 15, score: 1 },
|
|
62
|
+
{ character: 'u', count: 7, score: 1 },
|
|
63
|
+
{ character: 'v', count: 3, score: 4 },
|
|
64
|
+
{ character: 'w', count: 4, score: 4 },
|
|
65
|
+
{ character: 'x', count: 2, score: 8 },
|
|
66
|
+
{ character: 'y', count: 4, score: 4 },
|
|
67
|
+
{ character: 'z', count: 2, score: 10 },
|
|
68
|
+
],
|
|
69
|
+
}),
|
|
70
|
+
new Config({
|
|
71
|
+
...literaki,
|
|
72
|
+
locale: Locale.EN_GB,
|
|
73
|
+
name: 'Literaxx',
|
|
74
|
+
tiles: [
|
|
75
|
+
{ character: 'a', count: 9, score: 1 },
|
|
76
|
+
{ character: 'b', count: 2, score: 3 },
|
|
77
|
+
{ character: 'c', count: 2, score: 3 },
|
|
78
|
+
{ character: 'd', count: 4, score: 2 },
|
|
79
|
+
{ character: 'e', count: 12, score: 1 },
|
|
80
|
+
{ character: 'f', count: 2, score: 4 },
|
|
81
|
+
{ character: 'g', count: 3, score: 2 },
|
|
82
|
+
{ character: 'h', count: 2, score: 4 },
|
|
83
|
+
{ character: 'i', count: 9, score: 1 },
|
|
84
|
+
{ character: 'j', count: 1, score: 8 },
|
|
85
|
+
{ character: 'k', count: 1, score: 5 },
|
|
86
|
+
{ character: 'l', count: 4, score: 1 },
|
|
87
|
+
{ character: 'm', count: 2, score: 3 },
|
|
88
|
+
{ character: 'n', count: 6, score: 1 },
|
|
89
|
+
{ character: 'o', count: 8, score: 1 },
|
|
90
|
+
{ character: 'p', count: 2, score: 3 },
|
|
91
|
+
{ character: 'q', count: 1, score: 10 },
|
|
92
|
+
{ character: 'r', count: 6, score: 1 },
|
|
93
|
+
{ character: 's', count: 4, score: 1 },
|
|
94
|
+
{ character: 't', count: 6, score: 1 },
|
|
95
|
+
{ character: 'u', count: 4, score: 1 },
|
|
96
|
+
{ character: 'v', count: 2, score: 4 },
|
|
97
|
+
{ character: 'w', count: 2, score: 4 },
|
|
98
|
+
{ character: 'x', count: 1, score: 8 },
|
|
99
|
+
{ character: 'y', count: 2, score: 4 },
|
|
100
|
+
{ character: 'z', count: 1, score: 10 },
|
|
101
|
+
],
|
|
102
|
+
}),
|
|
103
|
+
];
|
|
104
|
+
|
|
105
|
+
export default enGb;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Config, Locale } from '@scrabble-solver/types';
|
|
2
|
+
|
|
3
|
+
import { literaki, scrabble, superScrabble } from '../games';
|
|
4
|
+
|
|
5
|
+
const enUs: Config[] = [
|
|
6
|
+
new Config({
|
|
7
|
+
...scrabble,
|
|
8
|
+
locale: Locale.EN_US,
|
|
9
|
+
tiles: [
|
|
10
|
+
{ character: 'a', count: 9, score: 1 },
|
|
11
|
+
{ character: 'b', count: 2, score: 3 },
|
|
12
|
+
{ character: 'c', count: 2, score: 3 },
|
|
13
|
+
{ character: 'd', count: 4, score: 2 },
|
|
14
|
+
{ character: 'e', count: 12, score: 1 },
|
|
15
|
+
{ character: 'f', count: 2, score: 4 },
|
|
16
|
+
{ character: 'g', count: 3, score: 2 },
|
|
17
|
+
{ character: 'h', count: 2, score: 4 },
|
|
18
|
+
{ character: 'i', count: 9, score: 1 },
|
|
19
|
+
{ character: 'j', count: 1, score: 8 },
|
|
20
|
+
{ character: 'k', count: 1, score: 5 },
|
|
21
|
+
{ character: 'l', count: 4, score: 1 },
|
|
22
|
+
{ character: 'm', count: 2, score: 3 },
|
|
23
|
+
{ character: 'n', count: 6, score: 1 },
|
|
24
|
+
{ character: 'o', count: 8, score: 1 },
|
|
25
|
+
{ character: 'p', count: 2, score: 3 },
|
|
26
|
+
{ character: 'q', count: 1, score: 10 },
|
|
27
|
+
{ character: 'r', count: 6, score: 1 },
|
|
28
|
+
{ character: 's', count: 4, score: 1 },
|
|
29
|
+
{ character: 't', count: 6, score: 1 },
|
|
30
|
+
{ character: 'u', count: 4, score: 1 },
|
|
31
|
+
{ character: 'v', count: 2, score: 4 },
|
|
32
|
+
{ character: 'w', count: 2, score: 4 },
|
|
33
|
+
{ character: 'x', count: 1, score: 8 },
|
|
34
|
+
{ character: 'y', count: 2, score: 4 },
|
|
35
|
+
{ character: 'z', count: 1, score: 10 },
|
|
36
|
+
],
|
|
37
|
+
}),
|
|
38
|
+
new Config({
|
|
39
|
+
...superScrabble,
|
|
40
|
+
locale: Locale.EN_US,
|
|
41
|
+
tiles: [
|
|
42
|
+
{ character: 'a', count: 16, score: 1 },
|
|
43
|
+
{ character: 'b', count: 4, score: 3 },
|
|
44
|
+
{ character: 'c', count: 6, score: 3 },
|
|
45
|
+
{ character: 'd', count: 8, score: 2 },
|
|
46
|
+
{ character: 'e', count: 24, score: 1 },
|
|
47
|
+
{ character: 'f', count: 4, score: 4 },
|
|
48
|
+
{ character: 'g', count: 5, score: 2 },
|
|
49
|
+
{ character: 'h', count: 5, score: 4 },
|
|
50
|
+
{ character: 'i', count: 13, score: 1 },
|
|
51
|
+
{ character: 'j', count: 2, score: 8 },
|
|
52
|
+
{ character: 'k', count: 2, score: 5 },
|
|
53
|
+
{ character: 'l', count: 7, score: 1 },
|
|
54
|
+
{ character: 'm', count: 6, score: 3 },
|
|
55
|
+
{ character: 'n', count: 13, score: 1 },
|
|
56
|
+
{ character: 'o', count: 15, score: 1 },
|
|
57
|
+
{ character: 'p', count: 4, score: 3 },
|
|
58
|
+
{ character: 'q', count: 2, score: 10 },
|
|
59
|
+
{ character: 'r', count: 13, score: 1 },
|
|
60
|
+
{ character: 's', count: 10, score: 1 },
|
|
61
|
+
{ character: 't', count: 15, score: 1 },
|
|
62
|
+
{ character: 'u', count: 7, score: 1 },
|
|
63
|
+
{ character: 'v', count: 3, score: 4 },
|
|
64
|
+
{ character: 'w', count: 4, score: 4 },
|
|
65
|
+
{ character: 'x', count: 2, score: 8 },
|
|
66
|
+
{ character: 'y', count: 4, score: 4 },
|
|
67
|
+
{ character: 'z', count: 2, score: 10 },
|
|
68
|
+
],
|
|
69
|
+
}),
|
|
70
|
+
new Config({
|
|
71
|
+
...literaki,
|
|
72
|
+
locale: Locale.EN_US,
|
|
73
|
+
name: 'Literaxx',
|
|
74
|
+
tiles: [
|
|
75
|
+
{ character: 'a', count: 9, score: 1 },
|
|
76
|
+
{ character: 'b', count: 2, score: 3 },
|
|
77
|
+
{ character: 'c', count: 2, score: 3 },
|
|
78
|
+
{ character: 'd', count: 4, score: 2 },
|
|
79
|
+
{ character: 'e', count: 12, score: 1 },
|
|
80
|
+
{ character: 'f', count: 2, score: 4 },
|
|
81
|
+
{ character: 'g', count: 3, score: 2 },
|
|
82
|
+
{ character: 'h', count: 2, score: 4 },
|
|
83
|
+
{ character: 'i', count: 9, score: 1 },
|
|
84
|
+
{ character: 'j', count: 1, score: 8 },
|
|
85
|
+
{ character: 'k', count: 1, score: 5 },
|
|
86
|
+
{ character: 'l', count: 4, score: 1 },
|
|
87
|
+
{ character: 'm', count: 2, score: 3 },
|
|
88
|
+
{ character: 'n', count: 6, score: 1 },
|
|
89
|
+
{ character: 'o', count: 8, score: 1 },
|
|
90
|
+
{ character: 'p', count: 2, score: 3 },
|
|
91
|
+
{ character: 'q', count: 1, score: 10 },
|
|
92
|
+
{ character: 'r', count: 6, score: 1 },
|
|
93
|
+
{ character: 's', count: 4, score: 1 },
|
|
94
|
+
{ character: 't', count: 6, score: 1 },
|
|
95
|
+
{ character: 'u', count: 4, score: 1 },
|
|
96
|
+
{ character: 'v', count: 2, score: 4 },
|
|
97
|
+
{ character: 'w', count: 2, score: 4 },
|
|
98
|
+
{ character: 'x', count: 1, score: 8 },
|
|
99
|
+
{ character: 'y', count: 2, score: 4 },
|
|
100
|
+
{ character: 'z', count: 1, score: 10 },
|
|
101
|
+
],
|
|
102
|
+
}),
|
|
103
|
+
];
|
|
104
|
+
|
|
105
|
+
export default enUs;
|