monquigrid/game-config.js
2025-07-16 23:56:37 +00:00

67 lines
No EOL
1.4 KiB
JavaScript

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;