Skip to content

Game Model

Tripp312 edited this page Apr 12, 2022 · 29 revisions

World

The singleton that holds all levels in the game model and updates all entities within. One of two central classes in the game model.

Variables:

  • campaign: holds all levels to be played
  • currentLevel: index of the current level in the campaign
  • difficulty: integer equivalent of the selected difficulty
  • world: private static variable of the world
  • observer: Screenobserver used to update the view on every timer tick

Methods:

  • reset(): creates a new instance of world
  • instance(): calls the current instance of world
  • World(): constructor
  • passLevel(): increases currentLevel by one and moves the player accordingly
  • getCurrentEntities(): obtains all entities on the current screen
  • getCurrentLevel(): returns currentLevel in the campaign
  • getPlayer(): returns the current instance of player
  • populate(): creates the base gameState without the level builder
  • updater(): contains the timer that prompts all movement in the game
  • update(): called by updater, calls all on-screen entities' performMovement() method
  • save(): saves the current state of the game
  • load(): loads the saved state of the game

Level

The other central class of the game model. Displays all the player will interact with, class that View is most entwined with.

Variables:

screens: this holds an arraylist of screens which the player travels between. totalEnemies: holds an arraylist of enemies within each level currentScreen: screen that the player currently inhabits currentRow: row of the currentScreen in the imaginary Array[][] of screens currentCol: column of the currentScreen in the imaginary Array[][] of screens currentLevel: level that the player is on observer: ScreenObserver used to update the View whenever player enters a new screen rand: Random object used to generate screen obstacles

Methods:

Level(): Level constructor setObserver(): sets the passed ScreenObserver to the observer variable findScreen(): finds the screen with the given row and column parameters placeEntity(): places the entity in the screen with the given row, column goLeft(): sets the currentScreen to the one to its left, updates View goRight(): sets the currentScreen to the one to its right, updates View goUp(): sets the currentScreen to the one above, updates View goDown(): sets the currentScreen to the one below, updates View getScreens(): returns screens setScreens(): sets screens to passed parameter addScreen(): adds the param screen to screens getCurrentRow(): returns currentRow setCurrentRow(): sets currentRow to the passed param getCurrentCol(): returns currentCol setCurrentCol(): sets currentCol to the passed param getCurrentScreen(): returns currentScreen

Screen

The object containing all that is displayed to the View at any given time

Clone this wiki locally