All checks were successful
Dynamic Branch Deploy / build-and-deploy (push) Successful in 1m37s
31 lines
817 B
JavaScript
31 lines
817 B
JavaScript
// Konstanten
|
|
const GAME_WIDTH = 800;
|
|
const GAME_HEIGHT = 400;
|
|
const GRAVITY = 0.6;
|
|
const JUMP_POWER = -12;
|
|
const HIGH_JUMP_POWER = -16;
|
|
const GROUND_Y = 350;
|
|
const BASE_SPEED = 5.0;
|
|
const CHUNK_SIZE = 60;
|
|
const TARGET_FPS = 60;
|
|
const MS_PER_TICK = 1000 / TARGET_FPS;
|
|
|
|
// RNG Klasse
|
|
class PseudoRNG {
|
|
constructor(seed) {
|
|
this.state = BigInt(seed);
|
|
}
|
|
nextFloat() {
|
|
const a = 1664525n; const c = 1013904223n; const m = 4294967296n;
|
|
this.state = (this.state * a + c) % m;
|
|
return Number(this.state) / Number(m);
|
|
}
|
|
nextRange(min, max) {
|
|
return min + (this.nextFloat() * (max - min));
|
|
}
|
|
pick(array) {
|
|
if (!array || array.length === 0) return null;
|
|
const idx = Math.floor(this.nextRange(0, array.length));
|
|
return array[idx];
|
|
}
|
|
} |