/Nike

Nike-Space Invaders

Primary LanguageJava

Nike

Space Invaders

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)

Team members

Format: Name, Github Username

Zhiyuan Guo, danielmonster

Henry Yi, Henry-YiW

Roberto Lozano, robertolozano

Xuanchen Zhou, PathaChow

Weili Yin, CharlesYWL

CRC

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

Screenshot

menu

si

Reference:

Wasabeef, 2018, https://github.com/wasabeef/Blurry

Sounds: OPENGAMEART.ORG Background music: "The Visitors" by Trevor Lentz }