Arquitectura del Sistema
Componentes Principales
Core
Simulation.js: Motor principal de simulación
Entity.js: Gestión de entidades
Canvas.js: Renderizado y visualización
StatsDisplay.js: Visualización de estadísticas
Modelos
DefaultModel.js: Implementación del modelo base
- Lógica de comportamiento y reglas de simulación
Utilidades
EventEmitter.js: Sistema de eventos personalizado
MatrixController.js: Gestión de escenarios
API Interna
class Simulation {
constructor(model)
initialize(humanCount, resourceCount)
start()
stop()
reset()
nextRound()
getEntitiesByType(type)
}
class Entity {
constructor(x, y, type, size)
move(canvas)
draw(ctx)
flash()
}
class DefaultModel {
constructor()
setMaximizerBehavior(isMaximizer)
applyInitialRules(simulation)
applyRules(simulation)
calculateSocialClasses(simulation)
}