Documentation
¶
Index ¶
- type File
- type FileType
- type Folder
- func (f *Folder) AddFile(file *File)
- func (f *Folder) AddSubfolder(folder *Folder)
- func (f *Folder) CanEnter(player *Player) bool
- func (f *Folder) CanRead(player *Player) bool
- func (f *Folder) GetFile(name string) (*File, bool)
- func (f *Folder) GetSubfolder(name string) (*Folder, bool)
- func (f *Folder) ListContents(showHidden bool) ([]string, []string)
- func (f *Folder) PermissionString() string
- func (f *Folder) RemoveFile(name string) bool
- func (f *Folder) RemoveSubfolder(name string) bool
- func (f *Folder) ResolvePath(path string) string
- type Game
- func (g *Game) AddMessage(msg string)
- func (g *Game) AddProcess(p *Process)
- func (g *Game) CheckDetection() bool
- func (g *Game) GeneratePID() int
- func (g *Game) GetActiveHostileProcesses() []*Process
- func (g *Game) GetProcess(pid int) (*Process, bool)
- func (g *Game) RemoveProcess(pid int) bool
- func (g *Game) SpawnAntivirus(location string) *Process
- func (g *Game) SpawnSentinel(location string) *Process
- func (g *Game) Tick()
- type GameState
- type Player
- func (p *Player) AddItem(item string)
- func (p *Player) AddKey(keyName string)
- func (p *Player) AddNoise(amount int)
- func (p *Player) AddToHistory(cmd string)
- func (p *Player) CanUseCommand(cmd string) bool
- func (p *Player) ElevatePrivilege()
- func (p *Player) GetPrompt() string
- func (p *Player) HasItem(item string) bool
- func (p *Player) HasKey(keyName string) bool
- func (p *Player) IsGameOver() bool
- func (p *Player) IsVictory() bool
- func (p *Player) ReduceNoise(amount int)
- func (p *Player) SetPrivilege(level PrivilegeLevel)
- func (p *Player) UnlockCommand(cmd string)
- type PrivilegeLevel
- type Process
- type ProcessState
- type ProcessType
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type File ¶
type File struct {
Name string
Path string
Content string
Permissions os.FileMode
Owner string
Group string
Size int64
ModTime time.Time
FileType FileType
IsHidden bool
Metadata map[string]interface{}
}
File representa un archivo en el sistema de archivos virtual
func (*File) CanExecute ¶
CanExecute verifica si el jugador puede ejecutar el archivo
func (*File) PermissionString ¶
PermissionString devuelve el string de permisos estilo Unix
type Folder ¶
type Folder struct {
Name string
Path string
Permissions os.FileMode
Owner string
Group string
ModTime time.Time
IsHidden bool
IsLocked bool // Requiere una llave para entrar
RequiredKey string // Nombre del archivo .key necesario
Files map[string]*File
Subfolders map[string]*Folder
Parent *Folder
Metadata map[string]interface{}
}
Folder representa un directorio en el sistema de archivos virtual
func (*Folder) AddSubfolder ¶
AddSubfolder añade un subdirectorio
func (*Folder) GetSubfolder ¶
GetSubfolder obtiene un subdirectorio por nombre
func (*Folder) ListContents ¶
ListContents devuelve el contenido del directorio
func (*Folder) PermissionString ¶
PermissionString devuelve el string de permisos estilo Unix
func (*Folder) RemoveFile ¶
RemoveFile elimina un archivo del directorio
func (*Folder) RemoveSubfolder ¶
RemoveSubfolder elimina un subdirectorio
func (*Folder) ResolvePath ¶
ResolvePath resuelve una ruta relativa o absoluta desde este directorio
type Game ¶
type Game struct {
State GameState
Player *Player
Processes map[int]*Process
CurrentTick int
MaxTicks int // Límite de tiempo opcional
Messages []string
LastOutput string
NextPID int
}
Game representa el estado global del juego
func (*Game) AddMessage ¶
AddMessage añade un mensaje al log del sistema
func (*Game) AddProcess ¶
AddProcess añade un proceso al juego
func (*Game) CheckDetection ¶
CheckDetection verifica si algún proceso detecta al jugador
func (*Game) GetActiveHostileProcesses ¶
GetActiveHostileProcesses devuelve los procesos hostiles activos
func (*Game) GetProcess ¶
GetProcess obtiene un proceso por PID
func (*Game) RemoveProcess ¶
RemoveProcess elimina un proceso
func (*Game) SpawnAntivirus ¶
SpawnAntivirus crea un nuevo proceso antivirus
func (*Game) SpawnSentinel ¶
SpawnSentinel crea un nuevo proceso centinela en la ubicación actual
type Player ¶
type Player struct {
Username string
PrivilegeLevel PrivilegeLevel
CurrentPath string
AlertLevel int // 0-100, a 100 = Game Over
Visibility int // 0-100, qué tan visible eres
Keys []string // Llaves recolectadas
Inventory []string // Items/archivos importantes
CommandHistory []string
Score int
Level int
UnlockedCmds []string // Comandos desbloqueados
}
Player representa al jugador (el proceso intruso)
func (*Player) AddToHistory ¶
AddToHistory añade un comando al historial
func (*Player) CanUseCommand ¶
CanUseCommand verifica si el jugador puede usar un comando
func (*Player) ElevatePrivilege ¶
func (p *Player) ElevatePrivilege()
ElevatePrivilege sube el nivel de privilegios
func (*Player) IsGameOver ¶
IsGameOver verifica si el juego terminó
func (*Player) ReduceNoise ¶
ReduceNoise reduce el nivel de alerta (esconderse)
func (*Player) SetPrivilege ¶
func (p *Player) SetPrivilege(level PrivilegeLevel)
SetPrivilege establece un nivel de privilegios específico
func (*Player) UnlockCommand ¶
UnlockCommand desbloquea un nuevo comando
type PrivilegeLevel ¶
type PrivilegeLevel int
PrivilegeLevel representa el nivel de privilegios del jugador
const ( PrivilegeGuest PrivilegeLevel = iota PrivilegeUser PrivilegeAdmin PrivilegeRoot )
func (PrivilegeLevel) String ¶
func (p PrivilegeLevel) String() string
type Process ¶
type Process struct {
PID int
Name string
Owner string
CPU float64
Memory float64
State ProcessState
Type ProcessType
Location string // Directorio donde "vive"
DetectRange int // Radio de detección en directorios
Hostile bool
SpawnTime time.Time
Metadata map[string]interface{}
}
Process representa un proceso del sistema (enemigo o aliado)
func NewAntivirusProcess ¶
NewAntivirusProcess crea un proceso antivirus
func NewProcess ¶
func NewProcess(pid int, name string, processType ProcessType) *Process
NewProcess crea un nuevo proceso
func NewSentinelProcess ¶
NewSentinelProcess crea un proceso centinela hostil
func (*Process) Activate ¶
func (p *Process) Activate()
Activate activa el proceso (empieza a cazar)
func (*Process) CanDetect ¶
CanDetect verifica si el proceso puede detectar al jugador en una ubicación
type ProcessState ¶
type ProcessState int
ProcessState representa el estado de un proceso
const ( ProcessStateSleep ProcessState = iota ProcessStateRunning ProcessStateScanning ProcessStateHunting ProcessStateTerminated )
func (ProcessState) String ¶
func (s ProcessState) String() string
type ProcessType ¶
type ProcessType int
ProcessType representa el tipo de proceso
const ( ProcessTypeSystem ProcessType = iota ProcessTypeSentinel // Enemigo que patrulla ProcessTypeFirewall // Bloquea acceso ProcessTypeAntivirus // Busca intrusos ProcessTypeLogger // Registra actividad )