Завершить инженерный кандидат Stage 5

This commit is contained in:
2026-08-19 02:04:45 +03:00
parent b840684ef3
commit cde886ca96
45 changed files with 3236 additions and 98 deletions
@@ -0,0 +1,44 @@
package com.projectsacrifice.game;
/** Immutable release-tuned physics constants shared by realtime and deterministic automation. */
public final class PhysicsConfig {
private static final PhysicsConfig RELEASE = new PhysicsConfig(
1, 1f / 60f, 1_800f, 370f, 880f,
0.13f, 0.14f, 0.78f, 16);
private final int version;
private final float fixedStepSeconds;
private final float gravity;
private final float runSpeed;
private final float jumpSpeed;
private final float coyoteSeconds;
private final float jumpBufferSeconds;
private final float respawnSeconds;
private final int maximumBodies;
private PhysicsConfig(int version, float fixedStepSeconds, float gravity,
float runSpeed, float jumpSpeed, float coyoteSeconds,
float jumpBufferSeconds, float respawnSeconds,
int maximumBodies) {
this.version = version;
this.fixedStepSeconds = fixedStepSeconds;
this.gravity = gravity;
this.runSpeed = runSpeed;
this.jumpSpeed = jumpSpeed;
this.coyoteSeconds = coyoteSeconds;
this.jumpBufferSeconds = jumpBufferSeconds;
this.respawnSeconds = respawnSeconds;
this.maximumBodies = maximumBodies;
}
public static PhysicsConfig release() { return RELEASE; }
public int version() { return version; }
public float fixedStepSeconds() { return fixedStepSeconds; }
public float gravity() { return gravity; }
public float runSpeed() { return runSpeed; }
public float jumpSpeed() { return jumpSpeed; }
public float coyoteSeconds() { return coyoteSeconds; }
public float jumpBufferSeconds() { return jumpBufferSeconds; }
public float respawnSeconds() { return respawnSeconds; }
public int maximumBodies() { return maximumBodies; }
}