Skip to content

A minimal, C++ implementation of the famous Super Mario game.

Notifications You must be signed in to change notification settings

ahmad-PH/Spring98-SuperMario-CA5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SuperMario - UTAP Spring98

This is a minimal, c++ implementation of the famous and nostalgic game SuperMario, which was chosen as a course project for the Advanced Programming course of the Computer Engineering major of University of Tehran, on the 2019 spring semester. As a teaching assistant for this course who was in charge of designing this assignment, I had the duty of writing the code that was expected of the students, in order to make sure that the project was neither too big, nor too small. Moreover, it would help bring out all those small ambiguities earlier, that would otherwise be discovered only after the students had started working on the project, and thus help save both the TAs and students significant amounts of time. The repository would also be shown to the students as an example of a "good-enough" design to help guide them towards better designs.

This project is built using the RSDL (Ramtin's Simple DirectMedia Layer) library, which is a library developed to help students use the SDL library through a simpler and more object-oriented interface.

Here's a short video that shows how my implementation actually looks like:

Mario Play-through

Getting Started

To play this game, you need to do the typical steps for running any c-based project. First, either clone the repository or simply download its ZIP and then extract it. Then, enter the extracted directory, and run the following to create the executable (named maio.out):

make

Then, you can play the game using the command below:

./mario.out

The game currently has only one level, and it will default to that one level if you run the executable as shown above. If you create a new level and you want to play it, then you must run

./mario.out <level-file-address>

Dependencies

  • SDL2
    • SDL2 Image Loading Library
    • SDL2 Mixer Library
    • SDL2 TrueType Font Library

you can refer to this page for installation instructions. if you are using linux and have the apt package manager available, you can run the following command to install the dependencies:

sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev 

Authors

  • Ahmad Pourihosseini - wrote the source code - ahmad-PH
  • Farzad Habibi - helped with writing the assignment description - gsoosk
  • Amirhossein Habibvand - helped with writing the assignment description - amirhbv
  • Bardia Eghbali - helped with writing the assignment description - sadmanbrad

Acknowledgments

About

A minimal, C++ implementation of the famous Super Mario game.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published