summaryrefslogtreecommitdiff
path: root/client/src/logic/logic.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/logic/logic.ts')
-rw-r--r--client/src/logic/logic.ts31
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)
}