How iskarip/silent-cat works
Silent Cat is a desktop horror-adventure game: the player selects a character, explores mansion levels, avoids enemies, collects items, solves room puzzles, and seeks the cat while managing limited lives and flashlight battery. The game controller coordinates the real-time gameplay stages and Swing views. The README describes checkpoints and saved progress, but the available tree and excerpts do not establish a persistence implementation, so no storage subsystem is shown. Some feature links are based on documented capabilities and module names; unsampled wiring is omitted.
Main entry points: ControladorNivel.java Level Controller · Personaje.java Player Character · ControladorAcertijo.java Puzzle Control · ControladorMovimiento.java Movement
Components 27
Startup and UI
- Application Entry
src/Main.java - Main Controller
src/Controlador/ControladorPrincipal.java - Game Window
src/Vista/JuegoFrame.java - Character Selection
src/Vista/SeleccionPersonajePanel.java
Gameplay Control
- Level Controller
src/Controlador/ControladorNivel.java - Keyboard Input
src/Controlador/ControladorTeclado.java - Movement
src/Controlador/ControladorMovimiento.java - Combat
src/Controlador/ControladorCombate.java - Enemy Updates
src/Controlador/ControladorEnemigos.java - Puzzle Control
src/Controlador/ControladorAcertijo.java - Item Control
src/Controlador/ControladorItems.java - Ambient Events
src/Controlador/ControladorAmbiente.java
Game World
- Game State
src/Modelo/Partida.java - Player Character
src/Modelo/Personaje.java - Level and Rooms
src/Modelo/Nivel.java - Level Factory
src/Modelo/NivelFactory.java - Collision Map
src/Modelo/MapaColision.java - Enemies
src/Modelo/Enemigo.java - Riddles
src/Modelo/Acertijo.java - Items and Inventory
src/Modelo/Inventario.java - Cat and Flashbacks
src/Modelo/Gato.java
Presentation
- Level Rendering
src/Vista/NivelPanel.java - Puzzle Screen
src/Vista/AcertijoPanel.java - Health and Battery
src/Vista/BarraVida.java - Pause and End
src/Vista/PausaPanel.java - Cat Flashback View
src/Vista/FlashbackGato.java
Other components
- Player
Connections 38
- Player → Application Entry: starts game
- Application Entry → Game Window: creates window
- Application Entry → Main Controller: creates controller
- Main Controller → Game Window: controls screens
- Player → Character Selection: chooses character
- Character Selection → Main Controller: selection input
- Main Controller → Level Controller: starts gameplay
- Level Controller → Game State: reads state
- Level Controller → Keyboard Input: uses input
- Level Controller → Movement: updates movement
- Level Controller → Enemy Updates: updates enemies
- Level Controller → Combat: dispatches attacks
- Level Controller → Puzzle Control: checks proximity
- Level Controller → Item Control: checks pickups
- Level Controller → Ambient Events: checks events
- Level Controller → Level Rendering: updates view
- Movement → Keyboard Input: reads keys
- Movement → Player Character: moves character
- Movement → Collision Map: checks bounds
- Enemy Updates → Enemies: updates AI
- Combat → Player Character: uses attacker
- Combat → Enemies: targets enemies
- Puzzle Control → Level and Rooms: reads riddle
- Puzzle Control → Player Character: validates answer
- Puzzle Control → Riddles: checks solution
- Puzzle Control → Puzzle Screen: shows and reads
- Item Control → Level and Rooms: checks level items
- Item Control → Player Character: grants pickups
- Player Character → Items and Inventory: uses inventory
- Ambient Events → Level and Rooms: checks zones
- Ambient Events → Cat and Flashbacks: triggers flashback
- Ambient Events → Cat Flashback View: shows flashback
- Level Factory → Level and Rooms: creates levels
- Level Rendering → Player Character: renders character
- Level Rendering → Enemies: renders enemies
- Level Rendering → Health and Battery: shows status
- Game Window → Pause and End: hosts screens
- Player → Keyboard Input: controls gameplay