Skip to content

My program takes inspiration from the game called Tomb Of The Mask. In order to win the stages, the player has to overcome obstacles and goes through all the cells of the stage.

Notifications You must be signed in to change notification settings

nglinhbao/TombOfTheMask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TombOfTheMask

The Tomb Of The Mask game was programmed by me using C# and SplashKit library.

My program takes inspiration from the game called Tomb Of The Mask. In order to win the stages, the player has to overcome obstacles and goes through all the cells of the stage.

The users will be ranked by their current stage and the amount of time that they take for every stage.

UML diagram

TOTM drawio

Gameplay

First, the user will enter homescreen to log in/sign up. There is a game heading and ranking table on this screen. The ranking table is sorted by users' current stage and total time they take for all stages.

image

When log in/sign up successfully, the player will enter a map. In order to win, player must go through all tiles and overcome the obstacles. The obstacles include:

  • Trap: if the player hits/goes through the trap, it will be activated. First, it turns yellow, then red. If it is red and the player is nearby, the will lose 1 life.
  • Bat: if the player hit the bat, the player will lose 1 life. There are also hearts for player to add more lives
image

When the player finish a game, they will enter waiting screen to continue or exit.

image

Design patterns

• Factory method: a creational design pattern that provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objects that will be created. The code includes a TileFactory class that encapsulates the creation of Tile objects based on different types. The factory method CreateTile is responsible for creating the appropriate tile object based on the given type. This design pattern allows subclasses (RedTile, BlueTile, GreenTile, etc.) to define their specific implementations while the TileFactory provides a common interface for creating tiles. This promotes flexibility, extensibility, and separation of object creation logic from the client code.

• Command method: Command is a behavioral design pattern that turns a request into a stand-alone object that contains all information about the request. This transformation lets you pass requests as a method arguments, delay or queue a request’s execution, and support undoable operations. By using the Command pattern, the code achieves better separation of concerns, promotes flexibility and extensibility, and provides a foundation for implementing undo/redo functionality if needed in the future.

• Model-View-Controller design pattern: MVC is a commonly used pattern for designing software applications that separates the application's concerns into three components: Model, View, and Controller. The MVC pattern provides several benefits, including separation of concerns, modularity, and ease of maintenance. It allows for the independent development and testing of each component, promotes code reuse, and facilitates the addition of new features or modifications without affecting the other components.

About

My program takes inspiration from the game called Tomb Of The Mask. In order to win the stages, the player has to overcome obstacles and goes through all the cells of the stage.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages