The game's architecture

The game uses several classes and interfaces. These are summarized here:

  • Character: This represents the player
  • Command: This represents a command and its arguments
  • Direction: This holds a direction, such as north or south, and the corresponding location you will arrive at for the direction
  • FunctionalCommands: This holds commands and executes them
  • FunctionalZork: This is the main class containing much of the game mechanics
  • GameElements: This holds collections of game elements and the current location
  • Item: This represents an item
  • Location: This represents a location in the game
  • NPC: This represents an NPC

We will explore how each of these classes is implemented. For a few of the classes, we will not show the getter/setter methods. ...

Get Learning Java Functional Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.