Difference between revisions of "Asteroids"

From WLCS
Line 21: Line 21:
 
** The projectile should disappear when it hits the edge of the screen
 
** The projectile should disappear when it hits the edge of the screen
 
** If the mouse is held down, a projectiles (clones) should be fired every 0.5 second
 
** If the mouse is held down, a projectiles (clones) should be fired every 0.5 second
 +
* A laser/firing sound should be played when a projectile is fired
 
=== Asteroids ===
 
=== Asteroids ===
 +
* Multiple asteroids should appear on the screen doing the following:
 
# Make an asteroid appear at a random edge of the screen
 
# Make an asteroid appear at a random edge of the screen
 
## Pick a random number between 1-4 (each number corresponds to a side)
 
## Pick a random number between 1-4 (each number corresponds to a side)
## Pick a random place for that side and tell the asteroid to appear there
+
## Use if-statements to check for each number 1 through 4,
## Give it a random direction (these will depend on which side the asteroid is located
+
### Tell the asteroid to appear at a random place along that side (will be different for each side)
# Have it move across the screen
+
### Give it a random direction (depends on the side the asteroid is located)
 +
# Have the asteroid move across the screen
 +
# The asteroid should disappear when it hits another edge
 +
=== Asteroid Collisions ===
 +
* If asteroids collide with the ship, then it's game over
 +
** Play a sound for the collision
 +
* If projectiles hit the asteroids, then the asteroid should explode and points given to the player
 +
** Play a sound for the explosion
 +
=== Aesthetics ===
 +
* Use a basic star field for the background
 +
* Find simple background music to use -- something appropriate for the theme of the game
 +
 
 +
== Advanced Requirements ==
 +
* Other flying objects on the screen give different point values
 +
* Large asteroids that explode break apart into smaller asteroids and the smaller ones can be fire upon for points
 +
* Use a cloud variable for the high score

Revision as of 10:33, 30 May 2013

Objectives

  • You will create a game that mimics gameplay of Asteroids
  • The player will be able to move around using the keyboard
  • The player's ship will be affected by momentum and physics
  • The player will be able to fire at asteroids and break them apart
  • The player will be able to aim using the mouse
  • Points will be given to the player for destroying asteroids

Requirements

Ship Movement

  • The ship should always point towards the mouse
  • Pressing the W-key will accelerate the ship and go forwards
    1. Create a speed variable and set it to 0
    2. If the W-key is pressed, then increase speed by a little bit (e.g. 0.5)
    3. Else, if speed is greater than 0, then decrease speed by a little bit (e.g. -0.5)
    4. Move the ship speed steps
  • Pressing the S-key will decelerate the ship and go backwards
    • Follow the same steps as the W-key, but reverse/negate everything

Firing Projectiles

  • Pressing the mouse down will fire a projectile (use clones)
    • The projectile should disappear when it hits the edge of the screen
    • If the mouse is held down, a projectiles (clones) should be fired every 0.5 second
  • A laser/firing sound should be played when a projectile is fired

Asteroids

  • Multiple asteroids should appear on the screen doing the following:
  1. Make an asteroid appear at a random edge of the screen
    1. Pick a random number between 1-4 (each number corresponds to a side)
    2. Use if-statements to check for each number 1 through 4,
      1. Tell the asteroid to appear at a random place along that side (will be different for each side)
      2. Give it a random direction (depends on the side the asteroid is located)
  2. Have the asteroid move across the screen
  3. The asteroid should disappear when it hits another edge

Asteroid Collisions

  • If asteroids collide with the ship, then it's game over
    • Play a sound for the collision
  • If projectiles hit the asteroids, then the asteroid should explode and points given to the player
    • Play a sound for the explosion

Aesthetics

  • Use a basic star field for the background
  • Find simple background music to use -- something appropriate for the theme of the game

Advanced Requirements

  • Other flying objects on the screen give different point values
  • Large asteroids that explode break apart into smaller asteroids and the smaller ones can be fire upon for points
  • Use a cloud variable for the high score