All checks were successful
Build Simulation and Test / Run All Tests (push) Successful in 1m5s
79 lines
1.7 KiB
Python
79 lines
1.7 KiB
Python
# config/constants.py
|
|
"""Configuration constants for the simulation."""
|
|
|
|
# Screen settings
|
|
SCREEN_WIDTH = 1920
|
|
SCREEN_HEIGHT = 1080
|
|
|
|
# Colors
|
|
BLACK = (0, 0, 0)
|
|
DARK_GRAY = (64, 64, 64)
|
|
GRAY = (128, 128, 128)
|
|
WHITE = (255, 255, 255)
|
|
RED = (255, 0, 0)
|
|
BLUE = (0, 0, 255)
|
|
GREEN = (0, 255, 0)
|
|
LIGHT_BLUE = (52, 134, 235)
|
|
SELECTION_BLUE = (0, 128, 255)
|
|
SELECTION_GRAY = (128, 128, 128, 80)
|
|
SELECTION_BORDER = (80, 80, 90)
|
|
|
|
# Grid settings
|
|
GRID_WIDTH = 50
|
|
GRID_HEIGHT = 50
|
|
CELL_SIZE = 20
|
|
RENDER_BUFFER = 50
|
|
|
|
# Performance settings
|
|
DEFAULT_TPS = 40
|
|
MAX_FPS = 180
|
|
TURBO_MULTIPLIER = 8
|
|
|
|
# Camera settings
|
|
DEFAULT_CAMERA_SPEED = 700
|
|
CAMERA_SPEED_INCREMENT = 350
|
|
MIN_CAMERA_SPEED = 350
|
|
MAX_CAMERA_SPEED = 2100
|
|
|
|
# UI settings
|
|
FONT_SIZE = 16
|
|
LEGEND_FONT_SIZE = 14
|
|
HUD_MARGIN = 10
|
|
LINE_HEIGHT = 20
|
|
SELECTION_THRESHOLD = 3 # pixels
|
|
|
|
# Simulation settings
|
|
FOOD_SPAWNING = True
|
|
FOOD_OBJECTS_COUNT = 500
|
|
RANDOM_SEED = 0
|
|
|
|
# Vector visualization settings
|
|
ACCELERATION_SCALE = 100
|
|
VELOCITY_SCALE = 50
|
|
ANGULAR_ACCELERATION_SCALE = 50
|
|
ARROW_TIP_SIZE = 5
|
|
ANGULAR_TIP_SIZE = 2.5
|
|
DIRECTION_TIP_SIZE = 3
|
|
|
|
# Cell physics settings
|
|
MAX_ACCELERATION = 0.125
|
|
MAX_ANGULAR_ACCELERATION = 0.25
|
|
MAX_VELOCITY = 1
|
|
MAX_ROTATIONAL_VELOCITY = 3 # degrees per tick
|
|
|
|
KEYMAP_LEGEND = [
|
|
("WASD", "Move camera"),
|
|
("Mouse wheel", "Zoom in/out"),
|
|
("Middle mouse", "Pan camera"),
|
|
("R", "Reset camera"),
|
|
("G", "Toggle grid"),
|
|
("I", "Toggle interaction radius"),
|
|
("ESC", "Deselect/Exit"),
|
|
("Left click", "Select object(s)"),
|
|
("Drag select", "Select multiple objects"),
|
|
("Click on object", "Select closest object in range"),
|
|
("Up/Down", "Increase/Decrease camera speed"),
|
|
("Shift", "Double TPS (for testing)"),
|
|
("L", "Toggle this legend"),
|
|
("Space", "Pause/Resume simulation"),
|
|
] |