Skip to content

Game Model

ShubinJerry-Yuan edited this page Apr 11, 2021 · 18 revisions

FishGame

The central class of the Game Model. It holds and updates all the GameObjects.

Variables

  • objectStorage: An ArrayList use to handle all all GameObjects
  • life: the number of life of the user remains
  • points: the number of points user receive from eating food and other fishes
  • health: the number of health that user remains
  • level: the current level that the player is in
  • numberOfFood: the number of food that currently exists
  • numberOfType1Fish: the number of the first type of fish that currently exists
  • numberOfType2Fish: the number of the second type of fish food that currently exists
  • numberOfType3Fish: the number of the third type of fish food that currently exists
  • numberOfPoisonFish: the number of the poison fish type of fish food that currently exists
  • limitOfFood: limitation of how many foods can appear on the screen.
  • limitOfType1Fish: limitation of how many fish1 can appear on the screen.
  • limitOfType2Fish: limitation of how many fish2 can appear on the screen.
  • limitOfType3Fish: limitation of how many fish3 can appear on the screen.
  • limitOfPosionFish: limitation of how many poison fish appear on the screen.
  • isCheatModeOn: if cheat mode is on, user fish will not die
  • isGameOver: use to handle even while user win or lose
  • user: this object is user fish

Methods

  • Fishmeet(): handle while two fish touch each other
  • blockingArea(): block the area that do not allow user to swim cross
  • add(AllObject a): adds a new GameObject to the FishGame list
  • remove(AllObject a): removes a GameObject from the FishGame list
  • enableCheatMode(): turns cheat mode on
  • disableCheatMode(): turns cheat mode off
  • addshark(): Add a shark to the FishGame list
  • sharkpass(): delete everything on the way the shark passed
  • load(): read the file give the user chance to play the game he saved
  • save(): save the current state of game
  • userfishcollision() use to handle user fish collision with other fish
  • circleChecking(int[] circle1, int[] circle2) because all object is circle like shape, check is two objects overlap
  • situationHandle(AllObject firstobject, AllObject secondObject) handle all the things that may touch together
  • increaseSize() fish grow size

AllObject

The class have variable and method that will be used by most object

Variables

  • x: the x coordinate of the object
  • y: the y coordinate of the object
  • speed: the speed of the object
  • size: the size of the object
  • direction: the direction of the object facing

Methods

  • ChangeSpeedAndDirection() change speed and direction for each fish this method will be override by children class
  • updatePosition() update the position of the object
  • drawCircle() use x and y draw a circle image

Fishes

Thisclass extends from AllObject class, all kind of fish class will extend this class

Variables

  • initialDirection: use to decide to side to import the fish and its initial facing direction

Methods

  • ChangeSpeedAndDirection(): override the method in parents class, changes speed and direction for each type of fish
  • randDirection(): randomly decide whether fish turning side or not
  • randSpeed(): randomly decide that fish is increasing or decreasing in speed.

Food

This class extends from AllObject

Variables

  • dir: image for food
  • imageSize: tells how large is the area covered by the image

Methods

ChangeSpeedAndDirection() override the method in parents class, changes speed and direction for food

Obstacles

This class extends from AllObject

Variables

  • dir: image for food
  • imageSize: tells how large is the area covered by the image

Shark

This class extends from AllObject

Variables

  • dir: image for food
  • imageSize: tells how large is the area covered by the image

Mine

This class extends from AllObject

Variables

  • dir: image for food
  • imageSize: tells how large is the area covered by the image

Clone this wiki locally