/MinionJump-TomAndJerry_LPOO_FEUP

Guided Project and Final Project of the curricular unit Object-oriented Programming Laboratory (LPOO)

Primary LanguageJava

LPOO1617_T6G6

Architecture Design

Package and class diagram (UML), documenting (describing) each class' responsibility:

  • Minion Jump

Encharge of game logic. This is the main class.

  • Entity

This class defines all the characteristics common to all entities of the game.

  • Villain

This class defines the behavior of the villain.

  • Minion

This class defines the behavior of the minion (character moved by the user).

  • Platform

This class define platforms where minion walks.

  • PlatformBehavior

Responsible to behavior of the platform.

  • NormalPlatform

Class responsible for normals platforms.

  • SpringPlatform

Class responsible for platforms with springs. This type of platform is where minion achieve more height with help of spring.

  • SplitPlatform

Class responsible for split platforms. This type of platform breaks down and the minion ends up falling.

  • RocketPlatform

Class responsible for platforms with rockets. This type of platform is where minion achieve more height than platform with spring, with help of rocket.

Design of behavioural aspects:

Design Patterns:

  1. Singleton - for the main game class.
  2. Strategy - for the different types of platforms: platform with spring, with rocket or normal and split platform.

GUI Design

Listing of the main functionalities:

  1. The game will be playable in Single Player.
  2. The game keeps scores of single player game runs.
  3. The settings of the game will allow for a player to turn off the sound in the game.

GUI mock-ups:

Main Menu

Score Menu

Settings Menu

Game Mode

Game Over

Test Design

Listing of the expected final test cases:

  1. Test randomness of the platform.
  2. Test out-of-bounds behaviour.
  3. Test player losing.
  4. Test randomness movement of the villain.
  5. Test highscore saving.

Group members

  • Francisca Leão Cerquinho Ribeiro da Fonseca - up201505791
  • Mariana Lopes Silva - up201506197