Assignment 4: Super Mario Brothers
1 General Instructions
1. The asignment is to be done in groups of 2 people. You may also chose to work solo.
2. We wil be using GitHub for version control. Make sure to regularly comit your changes to your
repository, rather than making a single comit at the end of the asignment. The comit history of
the repository wil be checked to verify the same.
3. The deadline for Asignment 4 is 1:59 p.m. on June 10th, 2018. The latest comit in your GitHub
repository, as of 1.59 p.m. on the 10th of June wil be considered as your final submision.
4.
5. Academic dishonesty is unaceptable and wil not be tolerated in this course. To compare the code
comited by the teams, an automatic system caled MOS wil be used for determining the
similarity of the programs.
2 Assignment Description
This asignment requires you to develop an Android game that miics the clasic game Super Mario
Brothers. You can read more about the game at http:/ww.mariowiki.com/Super_Mario_Bros.
We have made the folowing simplifying changes to the game:
1. There ned not be any sounds.
2. You only ned 3 levels.
3. You can redesign the AI behaviors of the opponents as you wish.
Here are the basic points of the game (we leave lots of implementation choices to you):
1. The game is side-scroling. This means that the characters onscren are viewed from a side-view
camera angle. Your game must make the onscreen characters move from the right to left side, like a
miror image of the original game.
2. The game must run in Landscape mode, unlike the Candy Crush which were portrait oriented.
3. The original game has several items. But, you ned to implement only the folowing:
Coins: They are worth 20 points and are very comon.
Super Mushrom: They are worth 100 points, and are les comon. It gives Mario the ”Super” form.
Fire Flower: They are also worth 100 points and they give Mario the ability to shoot fireballs,
by trans-forming him into ”Fire Mario” form.
4. Mario has diferent transformations. Mario transforms betwen those versions by touching an enemy
or obstacle, or by acquiring a particular type of item. You need to implement the ”Super” and ”Fire
Mario” versions, apart from the version of Mario at the begining of the game. The diferent
transformations of Mario and the details of when they ocur is listed here.
1
5. Among the many enemies that Mario has, you have to implement at least 3 types. The posible
enemies are:
u Buzy Beetle : It is smal turtle that hides in its shel when jumped on, and it is imune to
firebals.
u Blober: It is a squid-like sentry that persistently pursues the player.
u Koopa Paratropa: They are smal turtles with wings. Hostile gren ones jump towards
the player, and brezy red ones fly back and forth, or up and down.
u Piranha Plant: It is a carnivorous plant that lives in pipes. It rises up trying to hit Mario and
retreats. If Mario is near, it won’t rise up.
Descriptions of the enemies are available in more detail in this link.
6. Mario should be able to jump. He should also be able to break certain types of blocks.
7. Mario should have 3 lives. Kep a runing score and also kep track of the number of lives.
8. Artwork does not mater in this clas. But, Mario should be animated in some fashion.
9. The diferent levels should be controled by a data structure. The placement of items should be
controled by the data structure. There should be no hard coded checks in the game engine about
what level you are in (other than the code to load the corect data structure for the level).
10. You wil have to develop touch controls.
3 Hints
The Android development kit documentation is your friend. Reference it to figure out how the entire thing
works. The URL is http:/developer.android.com/reference/packages.html. A copy also gets installed in
your Android instalation.
3.1 How do I change the orientation of the scren?
1. The method void setRequestedOrientation (int requestedOrientation) can be used to set the
orientation of the activity.
2. The value of requestedOrientation can be set to SCREN ORIENTATION LANDSCAPE, to render
the game in landscape fashion.
4 No-Copy Policy
The asignment must contain the folowing statement in the file “statement.txt”:
We, your name and your partner, hereby certify that the files we submited represent our own work, that we did not
copy any code from any other person or source, and that we did not share our code with any other students.
NOTE: It is aceptable to use code you find in the Android or Java APIs.