Asteroids

From WLCS
Revision as of 09:39, 16 January 2014 by Admin (talk | contribs)

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
  • Points will be given to the player for destroying asteroids

Requirements

Ship Movement

  • Pressing the Right-key turns the ship to the right
  • Pressing the Left-key turns the ship to the left
  • Pressing the Up-key will accelerate the ship and go forwards
    1. Create a speed variable and set it to 0
    2. If the Up-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 Down-key will decelerate the ship and go backwards
    • Follow the same steps as the Up-key, but reverse/negate everything

Screen-wrapping

  • If the ship goes beyond the top edge, it should appear at the bottom edge of the screen, and vice versa
  • If the ship goes beyond the right edge, it should appear at the left edge of the screen, and vice versa

Firing Projectiles

  • Pressing space bar down will fire a projectile (use clones)
    • The projectile should disappear when it hits the edge of the screen
    • If the space bar 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:
    • Play a sound for the collision
    • Show an explosion or animation
    • Display a "Game over" message
  • If projectiles hit the asteroids:
    • The asteroid should break apart
      1. Change its size by 25
      2. Randomize its direction
      3. Create a clone that moves in the opposite direction
      4. If the size is less than 25, then delete the clone and hide the asteroid
    • Play a sound for the explosion
    • Points given to the player

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

  • Health bar for the ship
  • Other flying objects on the screen give different point values
  • Use a cloud variable for the high score