BACK

ARCHITECTURE

Architecture Diagrams

(parts of previous class diagram)

Architecture Changes

October 9th, 2025 (no file yet)

  • First project set up, basic plan of what to implement

October 16, 2025 (click to view)

  • Added structural class diagram, laying out in detail how core classes (Game, Timer, Screen, Sprite, Player, Dean, Item, Event) interact and satisfy requirements (FR_SCORING, FR_PAUSING, UR_TIME, UR_UI).

October 23, 2025 (click to view)

  • New classes/components and roles or expanded relationships: Game: main class; checks player location to trigger events, Score: influenced by events (and possibly timer), Event: triggered when player is on specific tile; affects score, Inventory: stores items, Dean: appears at end if time runs out, Maze: placeholder for possible procedural generation, Tile: walls/paths with textures; some trigger events; Game accesses tiles (abstracted)
  • Relationship clarifications: Timer can modify score, Items reside on tiles and move to inventory

October 30, 2025 (click to view)

  • Added paragraph explaining the design was influenced by the pipeline architecture.
  • Full write-up replacing bullet points
  • Requirement traceability added with IDs: FR_MAP_CREATION, UR_TIME, UR_UI, FR_SCORING, etc
  • Pipeline-architecture influence explained (inputs → components → outputs)
  • Detailed class roles and relationships fleshed out:
  • Game holds int[] maze (pre-filled), orchestrates Timer/Events
  • Timer tracks time, pause/play, affects Score
  • Screen aggregates visuals; uses Sprite assets
  • Sprite stores location/speed; handles input; used by Player/Dean
  • Added design process/history section with figures
  • State diagram still only mentioned briefly

November 6, 2025 (click to view)

  • Major expansion of behavioural/state-diagram section: Event-driven rationale for using states, Timer substate: running ↔ paused → expired; reacts to pauseGame/resumeGame/timeout, Event propagation to parent "playing" state; higher-level transitions: playing, paused, game over, Event propagation to parent "playing" state; higher-level transitions: playing, paused, game over.