A version of the classic arcade game "Asteroids" built in Java. Part of the module COMP30820 - Java Programming.
When the user starts the game, they are greeted with a main menu screen, which provides them with an option to start the game, see the high scores or to view the game's controls.
The controls screen tells the user the keys they should press to interact with the game. The player's character will be a spaceship, so the controls screen tells them how to rotate the ship, apply thrust, and perform a hyperspace jump (random teleportation to a new location on the screen).
The player is presented with an options to proceede back to the main menu on this screen.
High Scores screen can be accessed from main menu.
The game screen serves as the main interface for player interaction, where all the gameplay unfolds. Its purpose is to enable the user to take control of a spaceship, which is under relentless assault from asteroids and enemy ships. The primary objective for the user on this screen is to eliminate all asteroids and enemy ships before progressing to the next level. As the game advances, each level becomes progressively more challenging.
The user has the ability to move their ship, fire bullets at enemy ships, rotate their ship, and hyperspace jump to a random location on the screen.
After exhausting all their lives, the game comes to an end for the user. They are immediately directed to a game over screen, which notifies them about the conclusion of the game and presents an option to proceed to the Enter Name screen.
On the Enter Name screen, the user is granted the ability to enter their username. Once submitted, both their username and corresponding score are appended to the scores list. Consequently, their score is regarded as a high score and will be showcased to all other players once they finish the game.
Prompted to input their username and press the enter key, the user advances to a screen where they can View High Scores.
Paul O'Donovan - paul-od24
David Mallon - D-Mallon
Winnie Imafidon - Winnie101995
Liu - jh0922