board-game-engine 0.0.2 → 0.0.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/board-game-engine.test.js +2 -41
- package/dist/board-game-engine.js +33968 -5401
- package/dist/board-game-engine.min.js +2 -1
- package/dist/board-game-engine.min.js.LICENSE.txt +14 -0
- package/package.json +5 -3
- package/src/client/client.js +287 -0
- package/src/game-factory/bank/bank-slot.js +69 -0
- package/src/game-factory/bank/bank.js +114 -0
- package/src/game-factory/board.js +3 -0
- package/src/game-factory/condition/condition-factory.js +52 -0
- package/src/game-factory/condition/condition.js +39 -0
- package/src/game-factory/condition/contains-condition.js +21 -0
- package/src/game-factory/condition/contains-same-condition.js +27 -0
- package/src/game-factory/condition/evaluate-condition.js +18 -0
- package/src/game-factory/condition/every-condition.js +25 -0
- package/src/game-factory/condition/has-line-condition.js +14 -0
- package/src/game-factory/condition/in-line-condition.js +19 -0
- package/src/game-factory/condition/is-condition.js +23 -0
- package/src/game-factory/condition/is-full-condition.js +9 -0
- package/src/game-factory/condition/no-possible-moves-condition.js +14 -0
- package/src/game-factory/condition/not-condition.js +14 -0
- package/src/game-factory/condition/or-condition.js +15 -0
- package/src/game-factory/condition/position-condition.js +12 -0
- package/src/game-factory/condition/some-condition.js +24 -0
- package/src/game-factory/condition/would-condition.js +94 -0
- package/src/game-factory/entity.js +29 -0
- package/src/game-factory/expand-game-rules.js +276 -0
- package/src/game-factory/game-factory.js +239 -0
- package/src/game-factory/move/end-turn.js +7 -0
- package/src/game-factory/move/for-each.js +18 -0
- package/src/game-factory/move/index.js +7 -0
- package/src/game-factory/move/move-entity.js +16 -0
- package/src/game-factory/move/move-factory.js +89 -0
- package/src/game-factory/move/move.js +131 -0
- package/src/game-factory/move/pass-turn.js +10 -0
- package/src/game-factory/move/pass.js +7 -0
- package/src/game-factory/move/place-new.js +33 -0
- package/src/game-factory/move/remove-entity.js +7 -0
- package/src/game-factory/move/set-active-players.js +23 -0
- package/src/game-factory/move/set-state.js +13 -0
- package/src/game-factory/move/shuffle.js +7 -0
- package/src/game-factory/move/take-from.js +7 -0
- package/src/game-factory/space/space.js +30 -0
- package/src/game-factory/space-group/grid.js +43 -0
- package/src/game-factory/space-group/space-group.js +29 -0
- package/src/index.js +2 -0
- package/src/registry.js +17 -0
- package/src/utils/any-valid-moves.js +157 -0
- package/src/utils/check-conditions.js +28 -0
- package/src/utils/create-payload.js +16 -0
- package/src/utils/deserialize-bgio-arguments.js +8 -0
- package/src/utils/do-moves.js +18 -0
- package/src/utils/entity-matches.js +20 -0
- package/src/utils/find-met-condition.js +22 -0
- package/src/utils/get-current-moves.js +12 -0
- package/src/utils/get-scenario-results.js +23 -0
- package/src/utils/get-steps.js +28 -0
- package/src/utils/get.js +25 -0
- package/src/utils/grid-contains-sequence.js +226 -0
- package/src/utils/json-transformer.js +12 -0
- package/src/utils/prepare-payload.js +16 -0
- package/src/utils/resolve-entity.js +9 -0
- package/src/utils/resolve-expression.js +10 -0
- package/src/utils/resolve-properties.js +157 -0
- package/src/utils/simulate-move.js +25 -0
- package/webpack.config.js +4 -1
- package/src/action/action-factory.js +0 -13
- package/src/action/action.js +0 -34
- package/src/action/move-piece-action.js +0 -11
- package/src/action/select-piece-action.js +0 -23
- package/src/action/swap-action.js +0 -14
- package/src/board/board-factory.js +0 -12
- package/src/board/board-group.js +0 -9
- package/src/board/board.js +0 -11
- package/src/board/grid.js +0 -52
- package/src/board/stack.js +0 -16
- package/src/condition/action-type-matches-condition.js +0 -7
- package/src/condition/bingo-condition.js +0 -50
- package/src/condition/blackout-condition.js +0 -9
- package/src/condition/condition-factory.js +0 -31
- package/src/condition/condition.js +0 -9
- package/src/condition/contains-condition.js +0 -14
- package/src/condition/does-not-contain-condition.js +0 -15
- package/src/condition/is-valid-player-condition.js +0 -7
- package/src/condition/piece-matches-condition.js +0 -23
- package/src/condition/relative-move-condition.js +0 -16
- package/src/condition/some-condition.js +0 -7
- package/src/game/game.ts +0 -362
- package/src/index.ts +0 -1
- package/src/piece/piece-factory.js +0 -5
- package/src/piece/piece.ts +0 -25
- package/src/piece/pile.js +0 -70
- package/src/player/player.ts +0 -13
- package/src/registry.ts +0 -51
- package/src/round/round-factory.js +0 -7
- package/src/round/round.js +0 -41
- package/src/round/sequential-player-turn.js +0 -18
- package/src/space/space.ts +0 -22
- package/src/utils/find-value-path.js +0 -37
- package/src/utils/resolve-board.ts +0 -38
- package/src/utils/resolve-piece.ts +0 -43
|
@@ -1,46 +1,7 @@
|
|
|
1
1
|
/* eslint-env jest */
|
|
2
2
|
|
|
3
|
-
import { makeMove } from './src/index'
|
|
4
|
-
import gameRules from './tic-tac-toe-verbose.json'
|
|
5
|
-
|
|
6
3
|
describe('functional test', () => {
|
|
7
|
-
test('should
|
|
8
|
-
|
|
9
|
-
expect(gameState.status).toBe('waiting')
|
|
10
|
-
})
|
|
11
|
-
test('should add players', () => {
|
|
12
|
-
let gameState = makeMove(gameRules)
|
|
13
|
-
gameState = makeMove(gameRules, gameState, { playerId: 1, type: 'join' })
|
|
14
|
-
gameState = makeMove(gameRules, gameState, { playerId: 2, type: 'join' })
|
|
15
|
-
expect(gameState.players.length).toBe(2)
|
|
16
|
-
})
|
|
17
|
-
test('should start game', () => {
|
|
18
|
-
let gameState = makeMove(gameRules)
|
|
19
|
-
gameState = makeMove(gameRules, gameState, { playerId: 1, type: 'join' })
|
|
20
|
-
gameState = makeMove(gameRules, gameState, { playerId: 2, type: 'join' })
|
|
21
|
-
gameState = makeMove(gameRules, gameState, { type: 'start' })
|
|
22
|
-
expect(gameState.status).toBe('active')
|
|
23
|
-
})
|
|
24
|
-
test('should apply move', () => {
|
|
25
|
-
let gameState = makeMove(gameRules)
|
|
26
|
-
gameState = makeMove(gameRules, gameState, { playerId: 1, type: 'join' })
|
|
27
|
-
gameState = makeMove(gameRules, gameState, { playerId: 2, type: 'join' })
|
|
28
|
-
gameState = makeMove(gameRules, gameState, { type: 'start' })
|
|
29
|
-
gameState = makeMove(
|
|
30
|
-
gameRules,
|
|
31
|
-
gameState,
|
|
32
|
-
{
|
|
33
|
-
playerId: 1,
|
|
34
|
-
type: 'movePiece',
|
|
35
|
-
board: {
|
|
36
|
-
id: gameState.sharedBoard.grid.id
|
|
37
|
-
},
|
|
38
|
-
target: [
|
|
39
|
-
0,
|
|
40
|
-
2
|
|
41
|
-
]
|
|
42
|
-
}
|
|
43
|
-
)
|
|
44
|
-
expect(gameState.sharedBoard.grid.grid[0][2].pieces.length).toBe(1)
|
|
4
|
+
test('should have a test', () => {
|
|
5
|
+
expect(true).toBe(true)
|
|
45
6
|
})
|
|
46
7
|
})
|