const GAME_CONFIG = { // Grid Configuration GRID_WIDTH: 10, GRID_HEIGHT: 10, CELL_SIZE_PX: 30, // Player Configuration MAX_PLAYERS: 2, INITIAL_TURN: 1, INITIAL_PLAYER: 1, PLAYER_ONE_NUMBER: 1, PLAYER_TWO_NUMBER: 2, MIN_PLAYERS_TO_CONTINUE: 1, SINGLE_WINNER_COUNT: 1, // Game Mechanics MOVES_PER_TURN: 5, SHOTS_PER_TURN: 1, BULLET_SPEED: 1, TURN_TIMEOUT_MS: 30000, // Spawn Configuration SPAWN_BUFFER: 3, // Timing Configuration (in milliseconds) POLLING_INTERVAL: 1500, ERROR_FLASH_DURATION: 500, GHOST_ERROR_FLASH_DURATION: 600, ACTION_STEP_DELAY: 400, GAME_END_DELAY: 2000, MOVEMENT_ANIMATION_DELAY: 200, BULLET_TRAIL_DURATION: 5000, BULLET_SEGMENT_DELAY: 50, HIT_HIGHLIGHT_DURATION: 1000, COPY_FEEDBACK_DELAY: 2000, PLAYER_ACTIVE_TIMEOUT: 600000, // 10 minutes // Position Configuration DEFAULT_POSITION: { x: 0, y: 0 }, // Direction Configuration DIRECTION_OFFSETS: { NORTH: { row: -1, col: 0 }, SOUTH: { row: 1, col: 0 }, EAST: { row: 0, col: 1 }, WEST: { row: 0, col: -1 } }, // Database Limits and Defaults DEFAULT_EVENT_LIMIT: 10, DEFAULT_LEADERBOARD_LIMIT: 10, // UI Configuration MAX_SELECTION_RANGE: 99999, BUTTON_MARGIN: '20px', // Test Configuration TEST_SPAWN_POSITIONS: { PLAYER1: { row: 2, col: 2 }, PLAYER2: { row: 17, col: 17 } }, // Game Metadata GAME_NAME: "Grid Battle" }; module.exports = GAME_CONFIG;