2024-07-12 16:29:35 +02:00

156 lines
3.9 KiB
TypeScript

import { Tile } from '../Tile'
import type { GameDto, Movement } from '../../common/interfaces'
import type { Game } from '../Game'
import { wait } from '../../common/helpers'
export const playerState = {
id: '6fddcf4f-eaa9-4c87-a599-2af944477091',
name: 'arhuako',
score: 0,
hand: [
{
id: '20ce403a-dccc-472e-94b2-90ba8feac538',
pips: [4, 5],
flipped: false
},
{
id: 'a0cd790b-34bb-40fe-9b25-8dc590729e15',
pips: [1, 2],
flipped: false
},
{
id: 'f516ef48-99f2-4add-96eb-877f03bf0cb1',
pips: [6, 6],
flipped: false
},
{
id: 'dd91e12d-4be1-40e2-b1b1-128a0bc3dad7',
pips: [0, 1],
flipped: false
},
{
id: 'c472f1e8-14e4-4a5b-bef0-df0e78f01c39',
pips: [1, 5],
flipped: false
},
{
id: 'c28c55e1-820f-43b1-9366-d4b20d7f62a6',
pips: [1, 3],
flipped: false
},
{
id: '6d812874-8610-43e3-8331-6b25584e759e',
pips: [0, 5],
flipped: false
}
]
}
export const gameState_0: GameDto = {
id: 'f043051e-6850-444f-857c-b889220fc187',
lastMove: {
tile: {
id: 'c3f6b525-2e6f-455a-b355-9b8c8f5075f0',
pips: [6, 6]
},
type: 'both',
playerId: '137b68a6-f26c-43f5-badf-e5ae406fd059',
id: 'c71943a5-1fef-4418-bd66-39767ac36817'
},
gameInProgress: true,
winner: null,
tileSelectionPhase: false,
gameBlocked: false,
gameTied: false,
gameId: 'd76c4f98-1f26-4390-9e8d-2d727876b710',
tilesInBoneyard: [],
players: [
{
id: 'f639f263-e415-428c-bdd2-113f00f3c392',
name: 'arhuako',
score: 0,
hand: [
'51399f92-7555-4ffc-91ed-f6b5b9041a54',
'e9c40c13-c821-4bad-810c-12e7cb79b47d',
'95e8412b-1938-48d5-9647-cb8617659db0',
'54948d0a-b7a4-416c-a3f7-6602cfff1851',
'a40e6a76-c2e1-4692-82b3-603a4412a6a9',
'cb7827df-fe19-4c28-a786-a47e07c2d368',
'6d5a31d3-b734-4312-b8fd-1b5efa3fc258'
]
},
{
id: '77b2c512-d9e5-45f3-850f-99baab1befdf',
name: 'Alice (AI)',
score: 0,
hand: [
'066fd011-cabe-483b-a985-c649f4908356',
'01434825-eb3c-4baf-8ad1-cc055f982e75',
'c085c90f-f69c-4f83-acb6-87c576927366',
'1b5d5b46-a41c-4e69-9a02-efff9adbc201',
'74833dcc-1526-4c6c-a64c-a7807e647e77',
'fb7e6976-67a9-496f-9758-0b172aa069dd',
'58b612f0-cf40-4b5f-ba05-8a089f19b43a'
]
},
{
id: '137b68a6-f26c-43f5-badf-e5ae406fd059',
name: 'Bob (AI)',
score: 0,
hand: [
'9d5dcb97-7478-4030-a0f6-4e7080a5b8e0',
'a07e1aaf-e651-4678-a61c-414f4324d8e8',
'4db7aebb-ab4b-4709-b208-b39176e8d70a',
'd1733f9c-86a6-4597-b1ff-ec44e9a375d1',
'cf6e2c1c-57f8-4342-8ff4-8046971f99db',
'33cec060-7f40-4af9-9182-f98cbacbae10'
]
},
{
id: '188c1d69-8c5c-4fec-a08b-dc5fa09d49fd',
name: 'Charlie (AI)',
score: 0,
hand: [
'58433be6-e8d9-4ed2-bbdc-4328425a3687',
'3e24a6cd-02ea-436a-a3e4-41ae62c717d0',
'2a2723d1-6c46-4718-a1c2-fa8d2c148ac8',
'd521de5e-1db1-4a2e-971d-f91cc761342c',
'13d943d7-b694-4419-82f5-729117878d01',
'afcf2509-acfb-47ed-ade7-d08f1a20afd2',
'f50f3589-41ab-4d99-919e-c4c7a71ef5b0'
]
}
],
currentPlayer: {
id: '188c1d69-8c5c-4fec-a08b-dc5fa09d49fd',
name: 'arhuako'
},
tilesInBoard: [
{
id: 'c3f6b525-2e6f-455a-b355-9b8c8f5075f0',
pips: [6, 6]
}
],
boardFreeEnds: [6, 6]
}
export function getMovement(
pips: [number, number] = [6, 6],
side: string = 'left',
scale: number = 1
): Movement {
const tile = new Tile('string', undefined, pips, scale)
tile.orientation = 'north'
return {
id: 'movemnetid',
type: side,
tile,
playerId: 'string'
}
}
export async function mockMove(game: Game, pips: [number, number], side: string = 'left') {
await wait(1000)
game.board.updateBoard(getMovement(pips, side, game.board.scale))
}