diff options
Diffstat (limited to 'client/src/logic/logic.ts')
-rw-r--r-- | client/src/logic/logic.ts | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/client/src/logic/logic.ts b/client/src/logic/logic.ts index dd6e21d..d9ac6c8 100644 --- a/client/src/logic/logic.ts +++ b/client/src/logic/logic.ts @@ -1,35 +1,42 @@ -import { genItems, genMap, getMap, decompressMap } from "../map.js"; +import { genItems, getMap } from "../map.js"; import { updatePlayers } from "./players.js" import { updateUI } from "./ui.js" import { updateMovement } from "./movement.js" import { updateItems } from "./items.js" import { GameState, Input } from "../types.js"; - -const maps = { - [0]: 'EwRgPqYgNDew+TEuW6AGT2u59mPI/PeLZclSys1AhSgThJcJb2bdq7p5rupV2DYaVFCKI9HwFDiWACyxyK5WpCqArOPSCeuqfUnzDwaGbMyT3FAGZT0ABznD9ybWv0LLq61kz4S0M9WRMANnVVDUi1AHYdQxt+dyNEhJNiNk8A3npkiVSmcUEM6E5C/wL86rlivLqxaVymltggA=' -} +import { updateGhosts } from "./ai.js"; export const InitialState: GameState = { started: false, input: {}, players: [], + ghosts: [undefined, undefined, undefined, undefined], items: {}, - mapId: undefined + mapId: undefined, + frame: 0, + rng: 0 +} + +export const random = (state: GameState): number => { + return state.rng = (state.rng * 926659 + 4294967291) % 16381 } export const onLogic = ( pastData: GameState = InitialState, input: Input = { players: {} }, - _frame: number + frame: number ) => { let data = structuredClone(pastData) + data.frame = frame + random(data) let startPressed = updatePlayers(data, input); if (data.started) { updateMovement(data) updateItems(data) + updateGhosts(data) } else { updateUI(data) } @@ -45,13 +52,15 @@ export const onLogic = ( const initMap = (gameData: GameState, mapId: number) => { + document.getElementById("lobby").style.display = "none" + gameData.mapId = mapId let map = getMap(mapId) - if (!map) { - let {width, height, data} = decompressMap(maps[mapId]) - map = genMap(width, height, data, mapId) - } + // if (!map) { + // let {width, height, data} = decompressMap(maps[mapId]) + // map = genMap(width, height, data, mapId) + // } gameData.items = genItems(map) } |