# bricchi10/juego-de-wollok-g3 architecture

> Architecture diagram of the GitHub repository bricchi10/juego-de-wollok-g3, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/bricchi10/juego-de-wollok-g3
- Repository: https://github.com/bricchi10/juego-de-wollok-g3

## Overview

Peliculas Vs Robots is a Wollok game about defending a house from robots with selectable movie characters. Its documented player loop is to use controls to attack and move while robots advance, then pause or restart after a win or loss. The README also describes character-specific projectile effects and several robot and boss abilities. The source excerpts do not show runtime wiring, so links between implementation files are dashed and unverified; README-backed gameplay relationships are cited there.

Main entry points: [`personajes.wlk`](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/personajes.wlk) (Character roster), [`interfaz.wlk`](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/interfaz.wlk) (Controls), [`etapaDelJuego.wlk`](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/etapaDelJuego.wlk) (Game stage), [`proyectiles.wlk`](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/proyectiles.wlk) (Projectiles)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_play["Game flow"]
  node_controls["Controls<br/>[interfaz.wlk]"]
  node_game["Game stage<br/>[etapaDelJuego.wlk]"]
end

subgraph group_fighters["Player characters"]
  node_roster["Character roster<br/>[personajes.wlk]"]
  node_terminator["Terminator<br/>[personajes.wlk]"]
  node_spiderman["Spiderman<br/>[personajes.wlk]"]
  node_goku["Goku<br/>[personajes.wlk]"]
end

subgraph group_combat["Combat entities"]
  node_projectiles["Projectiles<br/>[proyectiles.wlk]"]
  node_robots["Robot types<br/>[robot.wlk]"]
  node_bosses["Boss robots<br/>[robot.wlk]"]
end

subgraph group_world["Game systems"]
  node_spawners["Robot spawners<br/>[spawners.wlk]"]
  node_randomizer["Random generator"]
  node_directions["Directions<br/>[direcciones.wlk]"]
end

node_player(("Player"))

node_player -->|"uses"| node_controls
node_controls -.->|"controls"| node_game
node_controls -.->|"selects character"| node_roster
node_controls -->|"pauses or restarts"| node_game
node_roster -->|"includes"| node_terminator
node_roster -->|"includes"| node_spiderman
node_roster -->|"includes"| node_goku
node_terminator -->|"fires bullets"| node_projectiles
node_spiderman -->|"fires webs"| node_projectiles
node_goku -->|"fires ki waves"| node_projectiles
node_robots -->|"advance toward house"| node_game
node_robots -->|"attack on collision"| node_roster
node_bosses -->|"attack through summoned robots"| node_roster
node_bosses -.->|"summon robots"| node_spawners
node_spawners -.->|"uses"| node_randomizer
node_game -.->|"uses"| node_directions

click node_controls "https://github.com/bricchi10/juego-de-wollok-g3/blob/main/interfaz.wlk"
click node_game "https://github.com/bricchi10/juego-de-wollok-g3/blob/main/etapaDelJuego.wlk"
click node_roster "https://github.com/bricchi10/juego-de-wollok-g3/blob/main/personajes.wlk"
click node_terminator "https://github.com/bricchi10/juego-de-wollok-g3/blob/main/personajes.wlk"
click node_spiderman "https://github.com/bricchi10/juego-de-wollok-g3/blob/main/personajes.wlk"
click node_goku "https://github.com/bricchi10/juego-de-wollok-g3/blob/main/personajes.wlk"
click node_projectiles "https://github.com/bricchi10/juego-de-wollok-g3/blob/main/proyectiles.wlk"
click node_robots "https://github.com/bricchi10/juego-de-wollok-g3/blob/main/robot.wlk"
click node_bosses "https://github.com/bricchi10/juego-de-wollok-g3/blob/main/robot.wlk"
click node_spawners "https://github.com/bricchi10/juego-de-wollok-g3/blob/main/spawners.wlk"
click node_randomizer "https://github.com/bricchi10/juego-de-wollok-g3/blob/main/generadorAleatorio.wlk"
click node_directions "https://github.com/bricchi10/juego-de-wollok-g3/blob/main/direcciones.wlk"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_controls,node_game toneBlue
class node_roster,node_terminator,node_spiderman,node_goku toneAmber
class node_projectiles,node_robots,node_bosses toneMint
class node_spawners,node_randomizer,node_directions toneRose
class node_player toneIndigo
```

## Components

### Game flow

- [Controls](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/interfaz.wlk): `interfaz.wlk`
- [Game stage](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/etapaDelJuego.wlk): `etapaDelJuego.wlk`

### Player characters

- [Character roster](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/personajes.wlk): `personajes.wlk`
- [Terminator](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/personajes.wlk): `personajes.wlk`
- [Spiderman](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/personajes.wlk): `personajes.wlk`
- [Goku](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/personajes.wlk): `personajes.wlk`

### Combat entities

- [Projectiles](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/proyectiles.wlk): `proyectiles.wlk`
- [Robot types](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/robot.wlk): `robot.wlk`
- [Boss robots](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/robot.wlk): `robot.wlk`

### Game systems

- [Robot spawners](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/spawners.wlk): `spawners.wlk`
- [Random generator](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/generadorAleatorio.wlk): `generadorAleatorio.wlk`
- [Directions](https://github.com/bricchi10/juego-de-wollok-g3/blob/main/direcciones.wlk): `direcciones.wlk`

### Other components

- **Player**

## Connections

- Player → Controls: uses (evidence: `README.md`)
- Controls → Game stage: controls
- Controls → Character roster: selects character
- Controls → Game stage: pauses or restarts (evidence: `README.md`)
- Character roster → Terminator: includes (evidence: `README.md`)
- Character roster → Spiderman: includes (evidence: `README.md`)
- Character roster → Goku: includes (evidence: `README.md`)
- Terminator → Projectiles: fires bullets (evidence: `README.md`)
- Spiderman → Projectiles: fires webs (evidence: `README.md`)
- Goku → Projectiles: fires ki waves (evidence: `README.md`)
- Robot types → Game stage: advance toward house (evidence: `README.md`)
- Robot types → Character roster: attack on collision (evidence: `README.md`)
- Boss robots → Character roster: attack through summoned robots (evidence: `README.md`)
- Boss robots → Robot spawners: summon robots
- Robot spawners → Random generator: uses
- Game stage → Directions: uses
