A recreation of the famous arcade game, with some improvements, developed with C++ and only using vectorial drawing.
C++
Travel around the space with your spaceship shooting at different asteroids that will generate smaller asteroids if they can as in the original game. Fight agains two types of UFO and survive as many rounds as you can, because this game is infinite as long as you have at least one life.
Also this project has a binary file where all the user data is saved. You can access to this document with an independent program that is also in the project (Admin Console). This project is developed with C++ and supported with the ESAT graphic library.
Login system where the user can access to the game with credentials. The game works with credits, the game doesn't start if the user doesn't have enough credits to play.
This page has validation process, the credentials must exist and validation of credits.
Page where the player can create an account to play. The user has to fill all the text fields in the screen and click the button to create an account.
This page has validation process, all fields are mandatory, passwords must be equal and username is unique.
Page where 50 best scores are showed. This scores are extracted from the binary file and ordered by bubble sorting algorithm.
Classic mode. The player has 3 lifes and there are infinite rounds. If the highscore is passed, the scores ranking will be updated.
Same game mode as single player but with players alternating when they die.
Two players must be logged in to play this gamemode.
Extra gamemode where two players fight each other. The second player is controlled with other keys.
Two players must be logged in to play this gamemode.
The player can save his progress and load the game the next time he opens the game or when he dies.
This system works with an extra binary file.
Independent program in the project where the admin can add, edit, delete and see all the users that are in the binary file of users.
This programs needs admin credentials to be inicialized.