Skip to content

Architecture

Nick Vincent Barrion Bautista edited this page Oct 19, 2020 · 24 revisions

1 - UML Class Diagram

Galaxy Dash UML Diagram

2

How will your app maintain state? in memory? or database? or both? Note this in your Model Classes.

Our App will maintain a state in memory while playing the game, or while the user is running the game. Our app will have a database that holds the high scores of all the players that play the game.

3

Player Stats

Player stats stores the user's ID as well as the player's total in-game statistics acquired throughout all games played. Total time played keeps track of the player's total amount of time they are in the game screen. numGamesPlayed keeps track of the total number of games played by the user. Deaths keeps track of the total amount of times the player has died in the game. totalTimePoweredUp keeps track of the total amount of time the player is affected by a power up. Score accumulated is the total amount of score the player has acquired throughout all games played. Highest Score keeps track of the single highest score the player has acquired in one run.

Achievements This stores the various achievements that are available for acquisition by the player. It includes the name of the achievements, the description, and a boolean value which determines whether the player has unlocked the achievement.

High Scores High Scores is an array of Game Stats. It keeps track of the five highest scoring games the player has achieved throughout all games.

Game Stats Game Stats keeps track of the stats in the current game. This contains identical attributes to Player Stats except this only keeps track of a single game, rather than cumulative.

4

List of common queries you expect will be needed. Do any of then need to join tables? I don't think we will need to join tables. Common Queries:

Select: SELECT * FROM PlayerScores;

Create: CREATE TABLE database ( username CHAR(20), highscore INT );

Insert Values: INSERT INTO database (username, highscore) VALUES ('Random Player', 461);

Update: UPDATE database SET highscore = value_1, column_2 = value_2, ... WHERE ROWNUM <= 5;

Delete: DELETE FROM database WHERE highscore(MIN);

Min: SELECT MIN(high_score) FROM database;

Order: SELECT high_score FROM database ORDER BY highscore ASC | DESC;

5

The Views of your app: name, describe, link each (actual hyperlink) to its image in your Detailed Design milestone if application. Typically, one page in the app is composed of multiple View elements.

Start Screen: Start This will be the screen that the player is greeted with when they start the game. There will be several options for the user to select from. The user can select start Which starts the Game The user can select high scores which shows the high scores of the game The user can select settings which shows the settings

Play Again Screen: Play again This will be the screen that the player is greeted with when they die. There is several options for the user to select from. The user can Select High scores The user can select play again The user can select back

High score's: Highscores This will be the screen where the player can see the highscores of the entire game. This will be the database The player will be able to scroll down through the highscores list.

Settings:Settings The settings screen is the screen the player will choose from the main screen The player will see a music slider so they can decrease the volume of the music They player will see a sound slider so they can decrease the volume of the sounds The player can click credits to see the creators of the game The player can hit back to return to the main screen

Achievements: achievements The achievements screen will be a screen where the player can see their achievements the achievements will be clickable and will show a text message of what the accomplishment was.