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)
}