67 lines
No EOL
1.4 KiB
JavaScript
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; |