项目文件夹

文件
Abhay Aggarwal 1b66bc97c4 fix: remediate PR analysis findings
- Fix missing DECAY_SIZE_FACTOR import in utils.test.js
- Fix inconsistent decay calculation in tests (use power function instead of sqrt)
- Remove unused DECAY_ENABLED import from utils.test.js
- Improve DECAY_THRESHOLD documentation for clarity
2025-09-18 14:07:20 -07:00

41 行
1.9 KiB
JavaScript

export const WORLD_SIZE = 2000;
export const FOOD_SIZE = 5;
export const STARTING_SCORE = 100;
export const AI_STARTING_SCORE = 50; // Starting score for AI players
export const FOOD_SCORE = 10;
export const FOOD_COUNT = 100;
export const AI_COUNT = 10;
export const COLLISION_THRESHOLD = 1.1; // 10% size difference needed for consumption
// Decay mechanics
export const DECAY_ENABLED = true; // Can be toggled to enable/disable decay
export const DECAY_RATE = 0.05; // Base score lost per second
export const DECAY_THRESHOLD = 50; // Minimum score - decay stops completely when score reaches this value
export const DECAY_INTERVAL = 1000; // Decay calculation interval in milliseconds
// Advanced decay mechanics
export const DECAY_MOVEMENT_MULTIPLIER = 1.5; // Decay multiplier when moving (higher = more decay when moving)
export const DECAY_SIZE_FACTOR = 0.2; // How much size affects decay (higher = larger cells decay faster)
export const DECAY_STARVATION_THRESHOLD = 10; // Seconds without food before starvation decay kicks in
export const DECAY_STARVATION_MULTIPLIER = 2; // Multiplier for decay when starving
// Split mechanics
export const MIN_SPLIT_SCORE = 40; // Minimum score needed to split
export const SPLIT_VELOCITY = 12; // Initial velocity of split cells
export const MAX_PLAYER_CELLS = 16; // Maximum number of cells a player can have
export const SPLIT_COOLDOWN = 5000; // Milliseconds before cells can merge back
export const MERGE_DISTANCE = 2; // Distance threshold for merging cells
// Merge mechanics
export const MERGE_COOLDOWN = 10000; // Time in ms before cells can merge
export const MERGE_FORCE = 0.3; // Strength of the merging force
export const MERGE_START_FORCE = 0.1; // Initial attraction force (before merge cooldown)
export const COLORS = {
PLAYER: '#008080', // Teal color
MINIMAP: {
PLAYER: '#4CAF50',
TOP_PLAYER: '#FFC107',
OTHER: 'rgba(255, 255, 255, 0.3)'
}
};