@datamoc/mw_games 0.4.1 → 0.4.3
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 +2 -2
- package/dist/actors/ItemStatusEffect.d.ts +1 -1
- package/dist/actors/ItemStatusEffect.d.ts.map +1 -1
- package/dist/actors/ItemStatusEffect.js +2 -11
- package/dist/actors/ItemStatusEffect.js.map +1 -1
- package/dist/actors/StatusEffect.d.ts +11 -0
- package/dist/actors/StatusEffect.d.ts.map +1 -1
- package/dist/actors/StatusEffect.js +21 -8
- package/dist/actors/StatusEffect.js.map +1 -1
- package/dist/assets/binary.d.ts +52 -0
- package/dist/assets/binary.d.ts.map +1 -0
- package/dist/assets/binary.js +57 -0
- package/dist/assets/binary.js.map +1 -0
- package/dist/assets/index.d.ts +10 -5
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +9 -5
- package/dist/assets/index.js.map +1 -1
- package/dist/board/Army.d.ts +75 -0
- package/dist/board/Army.d.ts.map +1 -1
- package/dist/board/Army.js +75 -0
- package/dist/board/Army.js.map +1 -1
- package/dist/board/Classics.d.ts +297 -1
- package/dist/board/Classics.d.ts.map +1 -1
- package/dist/board/Classics.js +297 -1
- package/dist/board/Classics.js.map +1 -1
- package/dist/board/Engine.d.ts +23 -0
- package/dist/board/Engine.d.ts.map +1 -1
- package/dist/board/Engine.js +23 -0
- package/dist/board/Engine.js.map +1 -1
- package/dist/board/FogOfWar.d.ts +20 -0
- package/dist/board/FogOfWar.d.ts.map +1 -1
- package/dist/board/FogOfWar.js +20 -0
- package/dist/board/FogOfWar.js.map +1 -1
- package/dist/board/Tactics.d.ts +158 -1
- package/dist/board/Tactics.d.ts.map +1 -1
- package/dist/board/Tactics.js +125 -1
- package/dist/board/Tactics.js.map +1 -1
- package/dist/board/chess.d.ts +87 -3
- package/dist/board/chess.d.ts.map +1 -1
- package/dist/board/chess.js +96 -4
- package/dist/board/chess.js.map +1 -1
- package/dist/core/HttpTransport.d.ts +1 -1
- package/dist/core/HttpTransport.js +1 -1
- package/dist/core/News.d.ts +6 -13
- package/dist/core/News.d.ts.map +1 -1
- package/dist/core/News.js +10 -23
- package/dist/core/News.js.map +1 -1
- package/dist/core/RunHistory.d.ts +1 -2
- package/dist/core/RunHistory.d.ts.map +1 -1
- package/dist/core/RunHistory.js +5 -6
- package/dist/core/RunHistory.js.map +1 -1
- package/dist/core/Stats.d.ts +1 -2
- package/dist/core/Stats.d.ts.map +1 -1
- package/dist/core/Stats.js +5 -6
- package/dist/core/Stats.js.map +1 -1
- package/dist/core/StoredValue.d.ts +21 -0
- package/dist/core/StoredValue.d.ts.map +1 -0
- package/dist/core/StoredValue.js +28 -0
- package/dist/core/StoredValue.js.map +1 -0
- package/dist/i18n/Content.d.ts +151 -0
- package/dist/i18n/Content.d.ts.map +1 -0
- package/dist/i18n/Content.js +219 -0
- package/dist/i18n/Content.js.map +1 -0
- package/dist/i18n/index.d.ts +35 -3
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +88 -6
- package/dist/i18n/index.js.map +1 -1
- package/dist/mw_games.global.js +90 -90
- package/dist/roguelike/Level.d.ts +10 -0
- package/dist/roguelike/Level.d.ts.map +1 -1
- package/dist/roguelike/Level.js +57 -17
- package/dist/roguelike/Level.js.map +1 -1
- package/dist/roguelike/Pathfinder.js +19 -19
- package/dist/roguelike/Pathfinder.js.map +1 -1
- package/dist/roguelike/Placement.d.ts +62 -0
- package/dist/roguelike/Placement.d.ts.map +1 -0
- package/dist/roguelike/Placement.js +79 -0
- package/dist/roguelike/Placement.js.map +1 -0
- package/dist/roguelike/index.d.ts +2 -0
- package/dist/roguelike/index.d.ts.map +1 -1
- package/dist/roguelike/index.js +1 -0
- package/dist/roguelike/index.js.map +1 -1
- package/dist/rpg/FreeMover.d.ts +1 -1
- package/dist/rpg/FreeMover.d.ts.map +1 -1
- package/dist/rpg/FreeMover.js +3 -6
- package/dist/rpg/FreeMover.js.map +1 -1
- package/dist/rpg/GridMover.d.ts +1 -1
- package/dist/rpg/GridMover.d.ts.map +1 -1
- package/dist/rpg/GridMover.js +3 -6
- package/dist/rpg/GridMover.js.map +1 -1
- package/dist/rpg/MovableSprite.d.ts +6 -0
- package/dist/rpg/MovableSprite.d.ts.map +1 -1
- package/dist/rpg/MovableSprite.js +9 -1
- package/dist/rpg/MovableSprite.js.map +1 -1
- package/dist/three-d/Models.d.ts +38 -1
- package/dist/three-d/Models.d.ts.map +1 -1
- package/dist/three-d/Models.js +66 -3
- package/dist/three-d/Models.js.map +1 -1
- package/dist/two-d/render/ActorAnimator.d.ts +32 -0
- package/dist/two-d/render/ActorAnimator.d.ts.map +1 -1
- package/dist/two-d/render/ActorAnimator.js +21 -0
- package/dist/two-d/render/ActorAnimator.js.map +1 -1
- package/dist/two-d/render/AnimatedSprite.d.ts +24 -4
- package/dist/two-d/render/AnimatedSprite.d.ts.map +1 -1
- package/dist/two-d/render/AnimatedSprite.js +24 -4
- package/dist/two-d/render/AnimatedSprite.js.map +1 -1
- package/dist/two-d/render/Autotile.d.ts +33 -1
- package/dist/two-d/render/Autotile.d.ts.map +1 -1
- package/dist/two-d/render/Autotile.js +33 -1
- package/dist/two-d/render/Autotile.js.map +1 -1
- package/dist/two-d/render/Camera.d.ts +53 -1
- package/dist/two-d/render/Camera.d.ts.map +1 -1
- package/dist/two-d/render/Camera.js +36 -1
- package/dist/two-d/render/Camera.js.map +1 -1
- package/dist/two-d/render/Capabilities.d.ts +33 -0
- package/dist/two-d/render/Capabilities.d.ts.map +1 -1
- package/dist/two-d/render/Capabilities.js +33 -0
- package/dist/two-d/render/Capabilities.js.map +1 -1
- package/dist/two-d/render/ColorBlindness.d.ts +23 -0
- package/dist/two-d/render/ColorBlindness.d.ts.map +1 -1
- package/dist/two-d/render/ColorBlindness.js +23 -4
- package/dist/two-d/render/ColorBlindness.js.map +1 -1
- package/dist/two-d/render/ColorTransformBatcher.d.ts +67 -1
- package/dist/two-d/render/ColorTransformBatcher.d.ts.map +1 -1
- package/dist/two-d/render/ColorTransformBatcher.js +57 -1
- package/dist/two-d/render/ColorTransformBatcher.js.map +1 -1
- package/dist/two-d/render/LayeredSprite.d.ts +19 -0
- package/dist/two-d/render/LayeredSprite.d.ts.map +1 -1
- package/dist/two-d/render/LayeredSprite.js +19 -0
- package/dist/two-d/render/LayeredSprite.js.map +1 -1
- package/dist/two-d/render/Minimap.d.ts +25 -1
- package/dist/two-d/render/Minimap.d.ts.map +1 -1
- package/dist/two-d/render/Minimap.js +25 -1
- package/dist/two-d/render/Minimap.js.map +1 -1
- package/dist/two-d/render/Particles.d.ts +26 -2
- package/dist/two-d/render/Particles.d.ts.map +1 -1
- package/dist/two-d/render/Particles.js +23 -0
- package/dist/two-d/render/Particles.js.map +1 -1
- package/dist/two-d/render/Projectile.d.ts +14 -0
- package/dist/two-d/render/Projectile.d.ts.map +1 -1
- package/dist/two-d/render/Projectile.js +14 -0
- package/dist/two-d/render/Projectile.js.map +1 -1
- package/dist/two-d/render/ScreenEffects.d.ts +15 -0
- package/dist/two-d/render/ScreenEffects.d.ts.map +1 -1
- package/dist/two-d/render/ScreenEffects.js +15 -0
- package/dist/two-d/render/ScreenEffects.js.map +1 -1
- package/dist/two-d/render/Shape2D.d.ts +58 -1
- package/dist/two-d/render/Shape2D.d.ts.map +1 -1
- package/dist/two-d/render/Shape2D.js +58 -1
- package/dist/two-d/render/Shape2D.js.map +1 -1
- package/dist/two-d/render/StatusVisuals.d.ts +22 -0
- package/dist/two-d/render/StatusVisuals.d.ts.map +1 -1
- package/dist/two-d/render/StatusVisuals.js +22 -0
- package/dist/two-d/render/StatusVisuals.js.map +1 -1
- package/dist/two-d/render/TileMap.d.ts +65 -3
- package/dist/two-d/render/TileMap.d.ts.map +1 -1
- package/dist/two-d/render/TileMap.js +65 -3
- package/dist/two-d/render/TileMap.js.map +1 -1
- package/dist/two-d/render/TiledMap.d.ts +9 -3
- package/dist/two-d/render/TiledMap.d.ts.map +1 -1
- package/dist/two-d/render/TiledMap.js +9 -3
- package/dist/two-d/render/TiledMap.js.map +1 -1
- package/dist/two-d/render/TintedSprite.d.ts +9 -2
- package/dist/two-d/render/TintedSprite.d.ts.map +1 -1
- package/dist/two-d/render/TintedSprite.js +9 -2
- package/dist/two-d/render/TintedSprite.js.map +1 -1
- package/dist/two-d/render/Types2D.d.ts +14 -2
- package/dist/two-d/render/Types2D.d.ts.map +1 -1
- package/dist/two-d/render/Types2D.js +14 -2
- package/dist/two-d/render/Types2D.js.map +1 -1
- package/dist/two-d/render/Viewport.d.ts +22 -0
- package/dist/two-d/render/Viewport.d.ts.map +1 -1
- package/dist/two-d/render/Viewport.js +22 -0
- package/dist/two-d/render/Viewport.js.map +1 -1
- package/dist/two-d/ui/Bar.d.ts +16 -3
- package/dist/two-d/ui/Bar.d.ts.map +1 -1
- package/dist/two-d/ui/Bar.js +16 -1
- package/dist/two-d/ui/Bar.js.map +1 -1
- package/dist/two-d/ui/BitmapLabel.d.ts +26 -10
- package/dist/two-d/ui/BitmapLabel.d.ts.map +1 -1
- package/dist/two-d/ui/BitmapLabel.js +26 -3
- package/dist/two-d/ui/BitmapLabel.js.map +1 -1
- package/dist/two-d/ui/Button.d.ts +15 -0
- package/dist/two-d/ui/Button.d.ts.map +1 -1
- package/dist/two-d/ui/Button.js +15 -0
- package/dist/two-d/ui/Button.js.map +1 -1
- package/dist/two-d/ui/FloatingText.d.ts +15 -0
- package/dist/two-d/ui/FloatingText.d.ts.map +1 -1
- package/dist/two-d/ui/FloatingText.js +15 -0
- package/dist/two-d/ui/FloatingText.js.map +1 -1
- package/dist/two-d/ui/HelpScreen.d.ts +16 -0
- package/dist/two-d/ui/HelpScreen.d.ts.map +1 -1
- package/dist/two-d/ui/HelpScreen.js +23 -3
- package/dist/two-d/ui/HelpScreen.js.map +1 -1
- package/dist/two-d/ui/IconGrid.d.ts +27 -3
- package/dist/two-d/ui/IconGrid.d.ts.map +1 -1
- package/dist/two-d/ui/IconGrid.js +71 -55
- package/dist/two-d/ui/IconGrid.js.map +1 -1
- package/dist/two-d/ui/Label.d.ts +12 -8
- package/dist/two-d/ui/Label.d.ts.map +1 -1
- package/dist/two-d/ui/Label.js +14 -3
- package/dist/two-d/ui/Label.js.map +1 -1
- package/dist/two-d/ui/ListView.d.ts +22 -4
- package/dist/two-d/ui/ListView.d.ts.map +1 -1
- package/dist/two-d/ui/ListView.js +44 -43
- package/dist/two-d/ui/ListView.js.map +1 -1
- package/dist/two-d/ui/LoadingScreen.d.ts +24 -1
- package/dist/two-d/ui/LoadingScreen.d.ts.map +1 -1
- package/dist/two-d/ui/LoadingScreen.js +24 -1
- package/dist/two-d/ui/LoadingScreen.js.map +1 -1
- package/dist/two-d/ui/MessageBox.d.ts +21 -2
- package/dist/two-d/ui/MessageBox.d.ts.map +1 -1
- package/dist/two-d/ui/MessageBox.js +19 -0
- package/dist/two-d/ui/MessageBox.js.map +1 -1
- package/dist/two-d/ui/NinePatch.d.ts +12 -0
- package/dist/two-d/ui/NinePatch.d.ts.map +1 -1
- package/dist/two-d/ui/NinePatch.js +12 -0
- package/dist/two-d/ui/NinePatch.js.map +1 -1
- package/dist/two-d/ui/RebindScreen.d.ts +15 -0
- package/dist/two-d/ui/RebindScreen.d.ts.map +1 -1
- package/dist/two-d/ui/RebindScreen.js +15 -0
- package/dist/two-d/ui/RebindScreen.js.map +1 -1
- package/dist/two-d/ui/SelectionModel.d.ts +50 -0
- package/dist/two-d/ui/SelectionModel.d.ts.map +1 -0
- package/dist/two-d/ui/SelectionModel.js +73 -0
- package/dist/two-d/ui/SelectionModel.js.map +1 -0
- package/dist/two-d/ui/StatsScreen.d.ts +15 -0
- package/dist/two-d/ui/StatsScreen.d.ts.map +1 -1
- package/dist/two-d/ui/StatsScreen.js +15 -0
- package/dist/two-d/ui/StatsScreen.js.map +1 -1
- package/dist/two-d/ui/Toast.d.ts +12 -0
- package/dist/two-d/ui/Toast.d.ts.map +1 -1
- package/dist/two-d/ui/Toast.js +12 -0
- package/dist/two-d/ui/Toast.js.map +1 -1
- package/dist/two-d/ui/Tooltip.d.ts +14 -0
- package/dist/two-d/ui/Tooltip.d.ts.map +1 -1
- package/dist/two-d/ui/Tooltip.js +14 -0
- package/dist/two-d/ui/Tooltip.js.map +1 -1
- package/dist/two-d/ui/VerticalLabel.d.ts +18 -0
- package/dist/two-d/ui/VerticalLabel.d.ts.map +1 -1
- package/dist/two-d/ui/VerticalLabel.js +18 -0
- package/dist/two-d/ui/VerticalLabel.js.map +1 -1
- package/dist/two-d/ui/Window.d.ts +12 -0
- package/dist/two-d/ui/Window.d.ts.map +1 -1
- package/dist/two-d/ui/Window.js +12 -0
- package/dist/two-d/ui/Window.js.map +1 -1
- package/dist/two-d/ui/theme.d.ts +45 -1
- package/dist/two-d/ui/theme.d.ts.map +1 -1
- package/dist/two-d/ui/theme.js +45 -1
- package/dist/two-d/ui/theme.js.map +1 -1
- package/dist/two-d/ui/themedText.d.ts +20 -0
- package/dist/two-d/ui/themedText.d.ts.map +1 -0
- package/dist/two-d/ui/themedText.js +9 -0
- package/dist/two-d/ui/themedText.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +11 -2
- package/tools/compile-resources.mjs +1 -1
- package/tools/compress-dist.d.mts +16 -0
- package/tools/compress-dist.mjs +116 -0
package/dist/board/Classics.d.ts
CHANGED
|
@@ -5,6 +5,23 @@ export interface BoardPiece<K = string> {
|
|
|
5
5
|
kind: K;
|
|
6
6
|
count?: number;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* A generic rectangular grid of pieces - the shared shape underneath a game-specific board
|
|
10
|
+
* (chess, checkers, or a custom game entirely) that only needs cells, bounds checking, and
|
|
11
|
+
* moving a piece from one cell to another.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* import { BoardGrid } from '@datamoc/mw_games/board';
|
|
16
|
+
*
|
|
17
|
+
* const board = new BoardGrid<{ id: string; owner: string; kind: string }>(3, 3);
|
|
18
|
+
* board.set(1, 1, { id: 'king', owner: 'white', kind: 'king' });
|
|
19
|
+
*
|
|
20
|
+
* console.log(board.move({ x: 1, y: 1 }, { x: 2, y: 2 })); // { id: 'king', owner: 'white', kind: 'king' }
|
|
21
|
+
* console.log(board.get(2, 2)); // the same piece, now at its new cell
|
|
22
|
+
* console.log(board.get(1, 1)); // null - the old cell is empty
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
8
25
|
export declare class BoardGrid<P> {
|
|
9
26
|
readonly cells: Array<P | null>;
|
|
10
27
|
readonly width: number;
|
|
@@ -37,8 +54,39 @@ export interface CheckersState {
|
|
|
37
54
|
turn: CheckersSide;
|
|
38
55
|
forcedFrom: number | null;
|
|
39
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* import { startingCheckers } from '@datamoc/mw_games/board';
|
|
61
|
+
*
|
|
62
|
+
* const state = startingCheckers();
|
|
63
|
+
* console.log(state.turn, state.board.length); // 'red' 64
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
40
66
|
export declare function startingCheckers(): CheckersState;
|
|
67
|
+
/**
|
|
68
|
+
* Legal moves for whoever's turn it is - captures only, when one is available, since a
|
|
69
|
+
* capture is forced in checkers; `forcedFrom` narrows this to one piece mid-multi-jump.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts
|
|
73
|
+
* import { startingCheckers, checkersMoves } from '@datamoc/mw_games/board';
|
|
74
|
+
*
|
|
75
|
+
* const moves = checkersMoves(startingCheckers());
|
|
76
|
+
* console.log(moves.length); // 7 - every red piece on the back row can step forward
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
41
79
|
export declare function checkersMoves(state: CheckersState): CheckersMove[];
|
|
80
|
+
/**
|
|
81
|
+
* @example
|
|
82
|
+
* ```ts
|
|
83
|
+
* import { startingCheckers, checkersMoves, applyCheckersMove } from '@datamoc/mw_games/board';
|
|
84
|
+
*
|
|
85
|
+
* const state = startingCheckers();
|
|
86
|
+
* applyCheckersMove(state, checkersMoves(state)[0]);
|
|
87
|
+
* console.log(state.turn); // 'black' - the move used no capture, so the turn passes
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
42
90
|
export declare function applyCheckersMove(state: CheckersState, move: CheckersMove): void;
|
|
43
91
|
export type GoStone = 'black' | 'white';
|
|
44
92
|
export interface GoState {
|
|
@@ -48,10 +96,64 @@ export interface GoState {
|
|
|
48
96
|
ko: number | null;
|
|
49
97
|
passes: number;
|
|
50
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* import { startingGo } from '@datamoc/mw_games/board';
|
|
103
|
+
*
|
|
104
|
+
* const state = startingGo(9);
|
|
105
|
+
* console.log(state.turn, state.board.length); // 'black' 81
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
51
108
|
export declare function startingGo(size?: number): GoState;
|
|
109
|
+
/**
|
|
110
|
+
* Places a stone, captures any enemy group left with no liberties, and enforces ko (a move
|
|
111
|
+
* that would recreate the position before the opponent's last capture is refused).
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```ts
|
|
115
|
+
* import { startingGo, playGo } from '@datamoc/mw_games/board';
|
|
116
|
+
*
|
|
117
|
+
* const state = startingGo(9);
|
|
118
|
+
* playGo(state, 4, 4);
|
|
119
|
+
* console.log(state.turn); // 'white' - the turn passes after a legal move
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
52
122
|
export declare function playGo(state: GoState, x: number, y: number): void;
|
|
123
|
+
/**
|
|
124
|
+
* @example
|
|
125
|
+
* ```ts
|
|
126
|
+
* import { startingGo, passGo, goResult } from '@datamoc/mw_games/board';
|
|
127
|
+
*
|
|
128
|
+
* const state = startingGo(9);
|
|
129
|
+
* passGo(state);
|
|
130
|
+
* passGo(state); // two passes in a row ends the game
|
|
131
|
+
* console.log(goResult(state)); // 'finished'
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
53
134
|
export declare function passGo(state: GoState): void;
|
|
135
|
+
/**
|
|
136
|
+
* @example
|
|
137
|
+
* ```ts
|
|
138
|
+
* import { startingGo, goResult } from '@datamoc/mw_games/board';
|
|
139
|
+
*
|
|
140
|
+
* console.log(goResult(startingGo(9))); // 'ongoing' - nobody has passed yet
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
54
143
|
export declare function goResult(state: GoState): 'ongoing' | 'finished';
|
|
144
|
+
/**
|
|
145
|
+
* Stones on the board plus surrounded empty territory, per side - area scoring, not the
|
|
146
|
+
* Japanese rule set's separate prisoner count.
|
|
147
|
+
*
|
|
148
|
+
* @example
|
|
149
|
+
* ```ts
|
|
150
|
+
* import { startingGo, playGo, goScore } from '@datamoc/mw_games/board';
|
|
151
|
+
*
|
|
152
|
+
* const state = startingGo(9);
|
|
153
|
+
* playGo(state, 4, 4);
|
|
154
|
+
* console.log(goScore(state)); // { black: 1, white: 0 } - one stone, no territory settled yet
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
55
157
|
export declare function goScore(state: GoState): {
|
|
56
158
|
black: number;
|
|
57
159
|
white: number;
|
|
@@ -73,9 +175,47 @@ export interface BackgammonMove {
|
|
|
73
175
|
to: number | 'off';
|
|
74
176
|
die: number;
|
|
75
177
|
}
|
|
178
|
+
/**
|
|
179
|
+
* @example
|
|
180
|
+
* ```ts
|
|
181
|
+
* import { startingBackgammon } from '@datamoc/mw_games/board';
|
|
182
|
+
*
|
|
183
|
+
* const state = startingBackgammon();
|
|
184
|
+
* console.log(state.points[0], state.points[23]); // 2 -2 - white's and black's back checkers
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
76
187
|
export declare function startingBackgammon(): BackgammonState;
|
|
188
|
+
/** Doubles roll as four of the same die, not two - the standard backgammon rule.
|
|
189
|
+
*
|
|
190
|
+
* @example
|
|
191
|
+
* ```ts
|
|
192
|
+
* import { rollBackgammonDice } from '@datamoc/mw_games/board';
|
|
193
|
+
*
|
|
194
|
+
* const dice = rollBackgammonDice();
|
|
195
|
+
* console.log(dice.length === 2 || dice.length === 4); // true
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
77
198
|
export declare function rollBackgammonDice(): number[];
|
|
199
|
+
/**
|
|
200
|
+
* @example
|
|
201
|
+
* ```ts
|
|
202
|
+
* import { startingBackgammon, backgammonMoves } from '@datamoc/mw_games/board';
|
|
203
|
+
*
|
|
204
|
+
* const moves = backgammonMoves(startingBackgammon(), [1]);
|
|
205
|
+
* console.log(moves.length, moves[0]); // 3 { from: 0, to: 1, die: 1 }
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
78
208
|
export declare function backgammonMoves(state: BackgammonState, dice: readonly number[]): BackgammonMove[];
|
|
209
|
+
/**
|
|
210
|
+
* @example
|
|
211
|
+
* ```ts
|
|
212
|
+
* import { startingBackgammon, backgammonMoves, applyBackgammonMove } from '@datamoc/mw_games/board';
|
|
213
|
+
*
|
|
214
|
+
* const state = startingBackgammon();
|
|
215
|
+
* applyBackgammonMove(state, backgammonMoves(state, [1])[0]);
|
|
216
|
+
* console.log(state.points[0], state.points[1]); // 1 1 - one checker moved from point 0 to point 1
|
|
217
|
+
* ```
|
|
218
|
+
*/
|
|
79
219
|
export declare function applyBackgammonMove(state: BackgammonState, move: BackgammonMove): void;
|
|
80
220
|
export type CardSuit = 'clubs' | 'diamonds' | 'hearts' | 'spades';
|
|
81
221
|
export type CardRank = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13;
|
|
@@ -83,14 +223,57 @@ export interface Card {
|
|
|
83
223
|
suit: CardSuit;
|
|
84
224
|
rank: CardRank;
|
|
85
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* @example
|
|
228
|
+
* ```ts
|
|
229
|
+
* import { createDeck } from '@datamoc/mw_games/board';
|
|
230
|
+
*
|
|
231
|
+
* console.log(createDeck().length); // 52
|
|
232
|
+
* console.log(createDeck(2).length); // 54 - two jokers added
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
86
235
|
export declare function createDeck(jokers?: number): Card[];
|
|
236
|
+
/**
|
|
237
|
+
* @example
|
|
238
|
+
* ```ts
|
|
239
|
+
* import { createDeck, shuffleDeck } from '@datamoc/mw_games/board';
|
|
240
|
+
* import { Random } from '@datamoc/mw_games/core';
|
|
241
|
+
*
|
|
242
|
+
* const shuffled = Random.withSeed(1, () => shuffleDeck(createDeck()));
|
|
243
|
+
* console.log(shuffled[0]); // { suit: 'hearts', rank: 6 } - deterministic for seed 1
|
|
244
|
+
* ```
|
|
245
|
+
*/
|
|
87
246
|
export declare function shuffleDeck(deck: Card[]): Card[];
|
|
247
|
+
/**
|
|
248
|
+
* @example
|
|
249
|
+
* ```ts
|
|
250
|
+
* import { createDeck, deal } from '@datamoc/mw_games/board';
|
|
251
|
+
*
|
|
252
|
+
* const hands = deal(createDeck(), 4, 13);
|
|
253
|
+
* console.log(hands.length, hands[0].length); // 4 13 - a full deck dealt to four players
|
|
254
|
+
* ```
|
|
255
|
+
*/
|
|
88
256
|
export declare function deal<T>(deck: T[], hands: number, cardsEach: number): T[][];
|
|
89
257
|
export interface TrickPlay<O = string> {
|
|
90
258
|
owner: O;
|
|
91
259
|
card: Card;
|
|
92
260
|
}
|
|
93
|
-
/** Highest card of the trump suit wins; failing that, highest card of whoever led. Ace (rank 1) ranks lowest, as in belote/tarot/bridge follow-suit play.
|
|
261
|
+
/** Highest card of the trump suit wins; failing that, highest card of whoever led. Ace (rank 1) ranks lowest, as in belote/tarot/bridge follow-suit play.
|
|
262
|
+
*
|
|
263
|
+
* @example
|
|
264
|
+
* ```ts
|
|
265
|
+
* import { trickWinner } from '@datamoc/mw_games/board';
|
|
266
|
+
*
|
|
267
|
+
* const plays = [
|
|
268
|
+
* { owner: 'north', card: { suit: 'hearts' as const, rank: 5 as const } },
|
|
269
|
+
* { owner: 'south', card: { suit: 'hearts' as const, rank: 10 as const } },
|
|
270
|
+
* { owner: 'east', card: { suit: 'spades' as const, rank: 13 as const } },
|
|
271
|
+
* ];
|
|
272
|
+
*
|
|
273
|
+
* console.log(trickWinner(plays)); // 'south' - highest heart, hearts led
|
|
274
|
+
* console.log(trickWinner(plays, 'spades')); // 'east' - the only spade played beats every heart
|
|
275
|
+
* ```
|
|
276
|
+
*/
|
|
94
277
|
export declare function trickWinner<O = string>(plays: TrickPlay<O>[], trumpSuit?: CardSuit): O;
|
|
95
278
|
export interface SolitaireState {
|
|
96
279
|
stock: Card[];
|
|
@@ -101,13 +284,114 @@ export interface SolitaireState {
|
|
|
101
284
|
}>;
|
|
102
285
|
foundations: Card[][];
|
|
103
286
|
}
|
|
287
|
+
/**
|
|
288
|
+
* A Klondike-shaped deal: seven tableau columns, each with one face-up card on a run of
|
|
289
|
+
* face-down ones, the rest in the stock.
|
|
290
|
+
*
|
|
291
|
+
* @example
|
|
292
|
+
* ```ts
|
|
293
|
+
* import { dealSolitaire } from '@datamoc/mw_games/board';
|
|
294
|
+
*
|
|
295
|
+
* const state = dealSolitaire(1); // seeded, for a reproducible deal
|
|
296
|
+
* console.log(state.stock.length); // 24 - 52 minus the 28 dealt across the tableau
|
|
297
|
+
* console.log(state.tableau[0].up); // [{ suit: 'clubs', rank: 12 }] - one face-up card to start
|
|
298
|
+
* ```
|
|
299
|
+
*/
|
|
104
300
|
export declare function dealSolitaire(seed?: number): SolitaireState;
|
|
301
|
+
/**
|
|
302
|
+
* Draws from the stock to the waste; once the stock is empty, the waste is turned back over
|
|
303
|
+
* into a new stock rather than the game being stuck.
|
|
304
|
+
*
|
|
305
|
+
* @example
|
|
306
|
+
* ```ts
|
|
307
|
+
* import { dealSolitaire, drawSolitaire } from '@datamoc/mw_games/board';
|
|
308
|
+
*
|
|
309
|
+
* const state = dealSolitaire(1);
|
|
310
|
+
* const card = drawSolitaire(state);
|
|
311
|
+
* console.log(card); // { suit: 'hearts', rank: 7 }
|
|
312
|
+
* console.log(state.waste.length, state.stock.length); // 1 23
|
|
313
|
+
* ```
|
|
314
|
+
*/
|
|
105
315
|
export declare function drawSolitaire(state: SolitaireState): Card | null;
|
|
316
|
+
/**
|
|
317
|
+
* Moves the top `count` face-up cards from one tableau column to another - legal only onto a
|
|
318
|
+
* card one rank higher of the opposite colour, or onto an empty column with a king.
|
|
319
|
+
*
|
|
320
|
+
* @example
|
|
321
|
+
* ```ts
|
|
322
|
+
* import { dealSolitaire, moveSolitaireTableau } from '@datamoc/mw_games/board';
|
|
323
|
+
*
|
|
324
|
+
* const state = dealSolitaire(1);
|
|
325
|
+
* moveSolitaireTableau(state, 4, 0, 1); // the jack of hearts onto the queen of clubs
|
|
326
|
+
* console.log(state.tableau[0].up.at(-1)); // { suit: 'hearts', rank: 11 }
|
|
327
|
+
* ```
|
|
328
|
+
*/
|
|
106
329
|
export declare function moveSolitaireTableau(state: SolitaireState, from: number, to: number, count?: number): void;
|
|
330
|
+
/**
|
|
331
|
+
* Moves a card to its suit's foundation pile - legal only as the next rank up (an ace
|
|
332
|
+
* starts a pile).
|
|
333
|
+
*
|
|
334
|
+
* @example
|
|
335
|
+
* ```ts
|
|
336
|
+
* import { dealSolitaire, drawSolitaire, moveSolitaireToFoundation } from '@datamoc/mw_games/board';
|
|
337
|
+
*
|
|
338
|
+
* const state = dealSolitaire(1);
|
|
339
|
+
* let card = drawSolitaire(state);
|
|
340
|
+
* while (card && card.rank !== 1) card = drawSolitaire(state); // draw until an ace surfaces
|
|
341
|
+
*
|
|
342
|
+
* moveSolitaireToFoundation(state, 'waste');
|
|
343
|
+
* console.log(state.foundations.some((pile) => pile.length === 1)); // true
|
|
344
|
+
* ```
|
|
345
|
+
*/
|
|
107
346
|
export declare function moveSolitaireToFoundation(state: SolitaireState, source: 'waste' | number): void;
|
|
347
|
+
/**
|
|
348
|
+
* @example
|
|
349
|
+
* ```ts
|
|
350
|
+
* import { dealSolitaire, solitaireWon } from '@datamoc/mw_games/board';
|
|
351
|
+
*
|
|
352
|
+
* console.log(solitaireWon(dealSolitaire(1))); // false - a fresh deal is never already won
|
|
353
|
+
* ```
|
|
354
|
+
*/
|
|
108
355
|
export declare function solitaireWon(state: SolitaireState): boolean;
|
|
356
|
+
/**
|
|
357
|
+
* @example
|
|
358
|
+
* ```ts
|
|
359
|
+
* import { rollDice } from '@datamoc/mw_games/board';
|
|
360
|
+
* import { Random } from '@datamoc/mw_games/core';
|
|
361
|
+
*
|
|
362
|
+
* const rolls = Random.withSeed(1, () => rollDice(2, 6));
|
|
363
|
+
* console.log(rolls); // [5, 2] - deterministic for seed 1
|
|
364
|
+
* ```
|
|
365
|
+
*/
|
|
109
366
|
export declare function rollDice(count: number, sides: number): number[];
|
|
367
|
+
/**
|
|
368
|
+
* Rolls a `"NdS+M"`-style expression (2d6+1: two six-sided dice, plus one).
|
|
369
|
+
*
|
|
370
|
+
* @example
|
|
371
|
+
* ```ts
|
|
372
|
+
* import { rollExpression } from '@datamoc/mw_games/board';
|
|
373
|
+
* import { Random } from '@datamoc/mw_games/core';
|
|
374
|
+
*
|
|
375
|
+
* console.log(Random.withSeed(1, () => rollExpression('2d6+1'))); // 8 - rolls [5, 2], plus 1
|
|
376
|
+
* ```
|
|
377
|
+
*/
|
|
110
378
|
export declare function rollExpression(expression: string): number;
|
|
379
|
+
/**
|
|
380
|
+
* A cup of dice a player can keep and re-roll - Yahtzee's own mechanic, generalised to any
|
|
381
|
+
* count/sides.
|
|
382
|
+
*
|
|
383
|
+
* @example
|
|
384
|
+
* ```ts
|
|
385
|
+
* import { DiceCup } from '@datamoc/mw_games/board';
|
|
386
|
+
* import { Random } from '@datamoc/mw_games/core';
|
|
387
|
+
*
|
|
388
|
+
* const cup = Random.withSeed(1, () => new DiceCup(5, 6));
|
|
389
|
+
* console.log(cup.values); // [5, 2, 6, 1, 1]
|
|
390
|
+
*
|
|
391
|
+
* cup.keep(2); // keep the 6
|
|
392
|
+
* cup.reRoll(); // every other die rolls again; index 2 stays a 6
|
|
393
|
+
* ```
|
|
394
|
+
*/
|
|
111
395
|
export declare class DiceCup {
|
|
112
396
|
readonly values: number[];
|
|
113
397
|
readonly count: number;
|
|
@@ -119,5 +403,17 @@ export declare class DiceCup {
|
|
|
119
403
|
clearKept(): void;
|
|
120
404
|
}
|
|
121
405
|
export type DiceCategory = 'ones' | 'twos' | 'threes' | 'fours' | 'fives' | 'sixes' | 'threeKind' | 'fourKind' | 'fullHouse' | 'smallStraight' | 'largeStraight' | 'yahtzee' | 'chance';
|
|
406
|
+
/**
|
|
407
|
+
* Scores five d6 values against one Yahtzee category.
|
|
408
|
+
*
|
|
409
|
+
* @example
|
|
410
|
+
* ```ts
|
|
411
|
+
* import { scoreDice } from '@datamoc/mw_games/board';
|
|
412
|
+
*
|
|
413
|
+
* console.log(scoreDice([4, 4, 4, 4, 4], 'yahtzee')); // 50
|
|
414
|
+
* console.log(scoreDice([1, 2, 3, 4, 5], 'chance')); // 15 - the sum of all five dice
|
|
415
|
+
* console.log(scoreDice([4, 4, 4, 4, 4], 'fours')); // 20 - five fours, four points each
|
|
416
|
+
* ```
|
|
417
|
+
*/
|
|
122
418
|
export declare function scoreDice(values: readonly number[], category: DiceCategory): number;
|
|
123
419
|
//# sourceMappingURL=Classics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Classics.d.ts","sourceRoot":"","sources":["../../src/board/Classics.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,MAAM;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,SAAS,CAAC,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,YAAY,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,EAMvE;IAED,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGlC;IAED,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAkE;IACvG,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAyC;IAC5E,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAA0C;IAE1F,IAAI,CAAC,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,EAAE,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAMpE;CACD;AAED,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,OAAO,CAAC;AAC3C,MAAM,WAAW,aAAa;IAAG,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;CAAE;AACrE,MAAM,WAAW,YAAY;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;CAAE;AAC/E,MAAM,WAAW,aAAa;IAAG,KAAK,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAAC,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAAE;AAErH,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,EAAE,CAIlE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAahF;AA0BD,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AACxC,MAAM,WAAW,OAAO;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAAE;AAE1H,wBAAgB,UAAU,CAAC,IAAI,SAAI,GAAG,OAAO,CAG5C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAsBjE;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAA8F;
|
|
1
|
+
{"version":3,"file":"Classics.d.ts","sourceRoot":"","sources":["../../src/board/Classics.ts"],"names":[],"mappings":"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"}
|