An android game: Space Invaders
By wikipedia, Space Invaders is a 1978 arcade game created by Tomohiro Nishikado. The objective of the game is to shoot the invaders with your laser base while avoiding their shots and their invasion. The main goal is getting a score as highest as possible by shooting down invaders. For more info, see this quick guide.
A link to Repo
A link to Story Mapping(Acceptance test included)
A link to CRC
A link to our design track (including updates)
Format: Name, Github Username
Zhiyuan Guo, danielmonster
Henry Yi, Henry-YiW
Roberto Lozano, robertolozano
Xuanchen Zhou, PathaChow
Weili Yin, CharlesYWL
SpaceGame | |
---|---|
- UI of this game - Shows the graphical background of the game, which is the universe - Contains a list of objects in the game |
BaseShelter Invader LaserBase Missile |
AnimatedObject | |
---|---|
- Base class of every animated object created in the game that holds a view of object on the game screen and the SpaceGame object - Stores and manages view, animator, and handlers - Handle notification issued by other objects -Configure the animator listener |
LaserBase Invader InvaderGroup BaseShelter BaseShelterGroup HUD Missle SpaceGame |
LaserBase | |
---|---|
- Able to move right or left when user touches the left/right part of the screen - Has 3 lives - Able to shoot missle when user touch the middle screen on the screen |
Missle SpaceGame |
Invader | |
---|---|
- Generates and Manages the movement and size of invaders - Detect the collision with missiles - Spawns at the top of interface |
Missle SpaceGame |
InvaderGroup | |
---|---|
- Manage a group of invaders | Invader |
BaseShelterGroup | |
---|---|
- Manage a group of baseShelters - Get the action signal from the outside world and then distribute it to every baseShelter |
BaseShelter SpaceGame |
BaseShelter | |
---|---|
- Has an array of ShelterBlocks that make up a baseShelter - Detect the collision with missiles - Spawns at between invader and laserbase |
Missle SpaceGame |
ShelterBlock | |
---|---|
- Make up each baseShelter - Each block should have height and width - Detect whether a block is dead or not |
BaseShelter |
MissilePool | |
---|---|
- Providing a pool of missiles available to use - Handle the case where one missile collides with another missile |
Missile SpaceGame |
Missile | |
---|---|
- Controls the movement and size of missile - Emitted by invaders and laserbase with specified directions |
BaseShelter Invader LaserBase SpaceGame |
HUD | |
---|---|
- Records information of status like Lifes, score, and level - Update them when variables change |
GameObject SpaceGame LaserBase |
Lives | |
---|---|
- A member in the HUD class that keeps track of the remaining number of lives - Manage the animation of live icons appearing on the top right corner of the screen |
HUD SpaceGame |
SoundEngine | |
---|---|
- Set up the sound pool - Plays different kinds of sound |
Missile SpaceGame |
MissileForm | |
---|---|
- Missile has two features that determine its form: Sound and Image - Set the form of Missile |
Missile |
UFO | |
---|---|
- A class derives from invader - Not able to shoot but give user bonus points |
SpaceGame Missile |
StartMenu | |
---|---|
- Display the Menu when the game is paused or not staated yet | HUD SpaceGame |
Pop | |
---|---|
- Handle the pop-up window | HUD SpaceGame |
Wasabeef, 2018, https://github.com/wasabeef/Blurry
Sounds: OPENGAMEART.ORG Background music: "The Visitors" by Trevor Lentz }