Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
e9f5469
Setting up GitHub Classroom Feedback
github-classroom[bot] Jan 23, 2023
131a838
Made changes in readme file
JeevanVirk Jan 24, 2023
b779c8d
Merge pull request #7 from COMP2522/jv_0_Demo
michelle-0 Jan 24, 2023
53194bf
add project pitch
michelle-0 Jan 31, 2023
e2187fa
Add files via upload
michelle-0 Feb 6, 2023
c8f9781
Delete Blank diagram.pdf
michelle-0 Feb 6, 2023
90045d6
Add RocketMan UML Diagram
michelle-0 Feb 6, 2023
65ae311
Delete RocketManUML.pdf
michelle-0 Feb 7, 2023
35bcc12
Upload RocketMan UML
michelle-0 Feb 7, 2023
13e03f4
Made a gradle project, which made the basic file structure.
immangat Feb 22, 2023
d96e562
Changed package name.
immangat Feb 22, 2023
dd954e9
Merge pull request #10 from COMP2522/9-adding-basic-file-structure
immangat Feb 22, 2023
ca08507
Added library file which processing.org classes.
immangat Feb 22, 2023
bd7583d
Added library dir in build.gradle.
immangat Feb 22, 2023
2fe8d59
Merge pull request #12 from COMP2522/Mangat_11-adding-library-file
immangat Feb 22, 2023
0f79407
Created a skeleton for Rocket Class.
immangat Feb 22, 2023
9b7fc21
Made Movable interface. (#22)
immangat Mar 20, 2023
86a3fa1
Made Destroyable interface.
immangat Mar 21, 2023
97f7a8f
Merge pull request #23 from COMP2522/20-mt_04_destroyable_interface
JeevanVirk Mar 21, 2023
facbabc
Made the Sprite Interface
immangat Mar 21, 2023
1ab120a
Merge branch '24-mt_4_sprite_abstract_class' into Mangat_13-creating-…
immangat Mar 21, 2023
146407a
Made the rocket class.
immangat Mar 21, 2023
6e02397
Merge pull request #25 from COMP2522/Mangat_13-creating-rocket-class
agrawaladityaraj Mar 21, 2023
a78350c
Added missing jar files
immangat Mar 21, 2023
5158329
Merge pull request #28 from COMP2522/27-adding-missing-jar-files-from…
JeevanVirk Mar 21, 2023
140e76a
Added missing images
immangat Mar 22, 2023
0c68093
Merge pull request #30 from COMP2522/29-mt_6_add_missing_images_folder
JeevanVirk Mar 22, 2023
d922045
Added movement logic to rocket and a second picture of the rocket.
immangat Mar 22, 2023
0037e4d
background class
michelle-0 Mar 23, 2023
dab2538
Merge pull request #31 from COMP2522/background
Lijuan-Z Mar 23, 2023
5b8a8ae
ignored .idea and .gradle
Lijuan-Z Mar 23, 2023
4188199
more changes
Lijuan-Z Mar 23, 2023
e964817
deleted unnecessary files
Lijuan-Z Mar 23, 2023
b4ac97a
Merge branch 'main' into 15-lz_01_create-manager-class
Lijuan-Z Mar 23, 2023
672611e
Merge pull request #32 from COMP2522/15-lz_01_create-manager-class
Lijuan-Z Mar 23, 2023
5f2d4b0
removed files
Lijuan-Z Mar 23, 2023
1615e82
Merge pull request #33 from COMP2522/test
Lijuan-Z Mar 23, 2023
ac98ca4
coin and zapper class (#34)
michelle-0 Mar 23, 2023
617f7ea
cleared git cache
michelle-0 Mar 23, 2023
4533005
cleared git cache
michelle-0 Mar 23, 2023
fb70576
Merge branch 'main' into 26-mt_5_making_rockets_movable
immangat Mar 23, 2023
c6795d5
added missing files and updated rocket.
immangat Mar 23, 2023
1c4ee7b
whole repo
immangat Mar 23, 2023
130f5c1
Merge pull request #35 from COMP2522/26-mt_5_making_rockets_movable
immangat Mar 23, 2023
682f183
missing jar files
immangat Mar 23, 2023
5c7aea1
Merge pull request #36 from COMP2522/mt_6.1_add_missing_images_folder
immangat Mar 23, 2023
a00293a
Window is made a singletion.
immangat Mar 23, 2023
50ac7b9
Singleton database mongoDB connection
agrawaladityaraj Mar 23, 2023
77e2f90
using .env in mongoDB
agrawaladityaraj Mar 24, 2023
c934ee1
Merge pull request #41 from COMP2522/38-aa_8_mongodb-1
immangat Mar 24, 2023
fc6e867
Merge branch 'main' of https://github.com/COMP2522/project-rocketman …
JeevanVirk Mar 24, 2023
14a8e86
Made window singleton
JeevanVirk Mar 24, 2023
090f45c
build folder in gitignore
agrawaladityaraj Mar 24, 2023
203bb31
jar files in github
agrawaladityaraj Mar 24, 2023
dd6ae9b
Merge pull request #42 from COMP2522/39-mt_8_make_window_singleton
agrawaladityaraj Mar 24, 2023
23e1bad
Added Collidable Interface,
immangat Mar 24, 2023
f8064cb
Merge pull request #47 from COMP2522/46-mt_11_make_collidable_interface
JeevanVirk Mar 24, 2023
a894403
Updated window code. Other classes still need to be updated.
JeevanVirk Mar 24, 2023
339ff9c
Merge pull request #48 from COMP2522/44-jv_10_update_window_class
immangat Mar 24, 2023
08d18e2
Added images and updates game manager.
Lijuan-Z Mar 24, 2023
c62c0d0
Merge pull request #49 from COMP2522/45-lz_10_update_manager_class
immangat Mar 24, 2023
8b75a30
updated player class.
JeevanVirk Mar 24, 2023
feb4493
Merge pull request #51 from COMP2522/50-jv_12_update_player_class
immangat Mar 24, 2023
56c7749
Implement background class
michelle-0 Mar 24, 2023
572be6b
Merge pull request #52 from COMP2522/43-mh_9_update_background_class
immangat Mar 24, 2023
5da1a7a
Coin class
agrawaladityaraj Mar 24, 2023
533ccf6
Updated Rocket class.
immangat Mar 24, 2023
064955a
Zapper class
agrawaladityaraj Mar 24, 2023
59a8ed8
Merge pull request #54 from COMP2522/53-mt_13_update_rocket_class
JeevanVirk Mar 24, 2023
2942dc2
Merge pull request #55 from COMP2522/17-aa_01_create-zapper-and-coin-…
immangat Mar 24, 2023
767a817
first commit
immangat Mar 26, 2023
f52aeb4
runnable project
immangat Mar 26, 2023
9053385
Revert "runnable project"
immangat Mar 26, 2023
86bdef7
Revert "first commit"
immangat Mar 26, 2023
8acc651
set lowerbound variable in player class
michelle-0 Mar 26, 2023
5543858
set lowerbound variable in player class
michelle-0 Mar 26, 2023
9761c96
Merge pull request #57 from COMP2522/playerclassedit
immangat Mar 26, 2023
8ec14df
Added images and updates game manager.
Lijuan-Z Mar 26, 2023
f5d9d95
animation in coin class
agrawaladityaraj Mar 27, 2023
d15f3cd
Merge pull request #60 from COMP2522/58-aa_9_animation_in_coin_class
immangat Mar 27, 2023
540174d
Cleaned up Window
JeevanVirk Mar 27, 2023
9eac5eb
Merge pull request #61 from COMP2522/59-jv_13_cleanup_window
agrawaladityaraj Mar 27, 2023
0feae85
new button class
agrawaladityaraj Mar 27, 2023
4b66b0e
Merge pull request #63 from COMP2522/62-aa_button_class
immangat Mar 27, 2023
3537976
Made changes to Player
JeevanVirk Mar 27, 2023
a4dd5c3
Merge branch 'main' into 64-jv_14_updated_player-variables
JeevanVirk Mar 27, 2023
0c5e571
Merge pull request #65 from COMP2522/64-jv_14_updated_player-variables
immangat Mar 27, 2023
204fc78
Added Heart.java
JeevanVirk Mar 27, 2023
c7f0b2f
Merge pull request #68 from COMP2522/66-jv_15_creating-heart_class
immangat Mar 27, 2023
56406ea
update background
michelle-0 Mar 27, 2023
3e2a632
Added GameUI and StartGameUI
JeevanVirk Mar 27, 2023
ee3ce23
decrement heart count
michelle-0 Mar 27, 2023
a602cde
rocket 3 image
agrawaladityaraj Mar 27, 2023
defb5e3
Merge pull request #71 from COMP2522/69-jv_16_creating_gameui_abstrac…
immangat Mar 27, 2023
8831896
Merge pull request #73 from COMP2522/70-aa_rocket_3_image_missing
immangat Mar 27, 2023
7b92cb5
Merge branch 'main' into 67-mh_10_update-background-functionality-1
immangat Mar 27, 2023
b6afc73
Merge pull request #72 from COMP2522/67-mh_10_update-background-funct…
immangat Mar 27, 2023
dfc51af
missing variables and changes in Background.java
agrawaladityaraj Mar 27, 2023
a602e50
Merge pull request #75 from COMP2522/74-aa_coinsperwindow_zappernums_…
immangat Mar 27, 2023
fed0d68
all the missing images
agrawaladityaraj Mar 27, 2023
8e71255
Merge pull request #77 from COMP2522/76-aa_add_missing_images
immangat Mar 27, 2023
d6c7a59
fixed collide function in Rocket.java
agrawaladityaraj Mar 27, 2023
c8b6c56
Merge pull request #80 from COMP2522/78-aa_fix_rocket_class
immangat Mar 27, 2023
59766cb
Added updated UML
JeevanVirk Mar 27, 2023
769a4c0
Merge pull request #81 from COMP2522/79-jv_17_updated_uml_diagram
immangat Mar 27, 2023
b051010
Background, coin and heart music!!
agrawaladityaraj Mar 28, 2023
c18d805
Made rudimentary UI.
immangat Mar 28, 2023
dfdf561
Merge pull request #177 from COMP2522/mt_20_making_different_states
agrawaladityaraj Mar 28, 2023
9b614fa
music library and sounds
agrawaladityaraj Mar 28, 2023
c992fa2
rocket music
agrawaladityaraj Mar 28, 2023
ce47360
Merge branch 'main' into 175-aa_music
agrawaladityaraj Mar 28, 2023
a8c54ae
Merge pull request #178 from COMP2522/175-aa_music
immangat Mar 28, 2023
491f33f
different music in menu and game
agrawaladityaraj Mar 28, 2023
2ab286d
Merge pull request #181 from COMP2522/180-aa_seperate_music_in_game_a…
immangat Mar 28, 2023
62f24a5
Added pause Menu
immangat Mar 28, 2023
dbf3812
Merge branch 'main' into 179-mt_make_pause_screen_logic
immangat Mar 28, 2023
3c9d836
Added player key press
immangat Mar 28, 2023
8521e0f
Merge pull request #182 from COMP2522/179-mt_make_pause_screen_logic
agrawaladityaraj Mar 28, 2023
6002c11
music settings changes
agrawaladityaraj Mar 28, 2023
515ae07
Merge pull request #185 from COMP2522/184-aa_change_music_settings
immangat Mar 28, 2023
9520cd5
Added JavaDoc comments in the player.
immangat Mar 28, 2023
f76394b
added background image to menu
michelle-0 Mar 28, 2023
f4d8610
Merge pull request #187 from COMP2522/menubackground
immangat Mar 28, 2023
2626633
Merge branch 'main' into 183-mt_making_the_player_dead_screen
immangat Mar 28, 2023
7324155
simple fix lol (#189)
agrawaladityaraj Mar 28, 2023
3c13be3
Added DeadGameUI class
immangat Mar 29, 2023
eb9a2e9
All Game UI added.
immangat Mar 29, 2023
4ad09d5
Merge branch 'main' into 183-mt_making_the_player_dead_screen
immangat Mar 29, 2023
ace6ee4
Merge pull request #190 from COMP2522/183-mt_making_the_player_dead_s…
agrawaladityaraj Mar 29, 2023
e9deb3f
Added Java doc to game manager class.
Lijuan-Z Mar 31, 2023
074eca0
Merge pull request #192 from COMP2522/162-lz_methods-missing-java-docs
Lijuan-Z Mar 31, 2023
62025dd
Added collide test to GameManagerTest class.
Lijuan-Z Apr 1, 2023
fd9856c
Merge pull request #194 from COMP2522/lz_193_test-for-manager-class
agrawaladityaraj Apr 1, 2023
2518ab4
Added java doc to the coin class.
Lijuan-Z Apr 1, 2023
2e6064e
Merge pull request #195 from COMP2522/Lz_157-obligatory-no-javadocs-i…
immangat Apr 1, 2023
cf280c1
Added javadoc comments
immangat Apr 2, 2023
1f632f6
Added javadoc comments to the instance variable
immangat Apr 2, 2023
18f5c1d
Added TODO for refactoring
immangat Apr 2, 2023
f2d1ff6
going to main menu from dead game UI
agrawaladityaraj Apr 2, 2023
722c2b7
Merge pull request #198 from COMP2522/197-mt_clean_up_rocket_class
agrawaladityaraj Apr 2, 2023
1d3da2f
Merge pull request #200 from COMP2522/199-aa_deadgameui_update
immangat Apr 2, 2023
e67bc4b
Adding scores to database on collide
agrawaladityaraj Apr 3, 2023
8c72a55
Merge pull request #202 from COMP2522/201-aa_db_stuff
immangat Apr 3, 2023
cd73b8f
Tests for Player class
JeevanVirk Apr 3, 2023
f2d6bf6
Merge pull request #203 from COMP2522/191-jv_making-test-for-player-c…
immangat Apr 3, 2023
2dc761e
Tests for Rocket class
JeevanVirk Apr 3, 2023
65c8ad4
Merge pull request #205 from COMP2522/204-jv_making_tests_for_rocket
Lijuan-Z Apr 3, 2023
3e96f6d
Tests for Zapper class
JeevanVirk Apr 3, 2023
5d1199b
Tests for Heart,Coin and Zapper class
JeevanVirk Apr 3, 2023
3bb08d8
Merge pull request #209 from COMP2522/206-jv_making_tests_for_some_cl…
Lijuan-Z Apr 3, 2023
3c06058
Added java doc to the background class. (#211)
Lijuan-Z Apr 3, 2023
26e41c0
Tests for Background Class
JeevanVirk Apr 3, 2023
50f9f33
Merge pull request #213 from COMP2522/206-jv_making_tests_for_some_cl…
Lijuan-Z Apr 3, 2023
f137f5d
Tests for Button Class
JeevanVirk Apr 3, 2023
c71e5ca
Merge pull request #215 from COMP2522/214-jv_creatingtestforbuttonclass
Lijuan-Z Apr 3, 2023
27f295e
added background image to pause screen
michelle-0 Apr 3, 2023
744cead
Merge pull request #217 from COMP2522/216-add-background-image-to-pau…
immangat Apr 3, 2023
e77475f
change text colour to red on pause screen
michelle-0 Apr 3, 2023
6a5bb24
Merge pull request #219 from COMP2522/218-change-text-colour-to-red-i…
immangat Apr 3, 2023
3beda68
Leaderboard completed
agrawaladityaraj Apr 3, 2023
e7eec5f
Merge pull request #220 from COMP2522/208-aa_leaderboard
immangat Apr 3, 2023
1e55c74
Made game harder (#222)
agrawaladityaraj Apr 3, 2023
fb2c899
Deleted unnecessary zapper
agrawaladityaraj Apr 4, 2023
df50c3e
Deleted unused interfaces, combined Moveable interface with Sprite cl…
agrawaladityaraj Apr 4, 2023
fb2e090
Mistakenly removed loop adding coins, fixed now!
agrawaladityaraj Apr 4, 2023
33ba0c5
Removed unused methods in Sprite abstract class, coins still making t…
agrawaladityaraj Apr 4, 2023
159992e
Code not working at all!
agrawaladityaraj Apr 5, 2023
ae2c8aa
fixed some bugs
immangat Apr 5, 2023
dd77f1f
Made private methods reused code
agrawaladityaraj Apr 5, 2023
4f957cc
Refactoring seems to be done!
agrawaladityaraj Apr 9, 2023
22189b8
Merge pull request #224 from COMP2522/223-aa_refactoring
immangat Apr 9, 2023
1482814
Some many javadoc comments!!!!!!
agrawaladityaraj Apr 9, 2023
d8451cc
Merge pull request #226 from COMP2522/225-aa_javadoc
immangat Apr 9, 2023
7fc7a3d
Solved warnings in multiple classes.
Lijuan-Z Apr 10, 2023
999f468
Merge pull request #227 from COMP2522/168-long-line
immangat Apr 10, 2023
d2583e9
Solved some formatting issues in multiple classes.
Lijuan-Z Apr 10, 2023
96bec4a
Merge pull request #229 from COMP2522/228-delete-gameui-folder
immangat Apr 10, 2023
fec5747
add readme
michelle-0 Apr 10, 2023
75ba7b9
Merge pull request #231 from COMP2522/230-add-readme-file
immangat Apr 10, 2023
32088c7
Added Final UML Diagram in Images folder
JeevanVirk Apr 10, 2023
e312efe
Merge pull request #234 from COMP2522/232-jv_update_final_uml_diagram
immangat Apr 10, 2023
9fe932b
Deleted old UML Diagram
JeevanVirk Apr 10, 2023
1dbdcdb
Merge pull request #236 from COMP2522/235-jv_deleting_olduml
immangat Apr 10, 2023
a763131
Update README.md
immangat Apr 10, 2023
c098271
Update README.md
immangat Apr 10, 2023
e19ae6b
Update README.md
immangat Apr 10, 2023
747fbb7
Merge pull request #237 from COMP2522/MT_addedUMLtoReadME
JeevanVirk Apr 10, 2023
aa0beb8
fixed the bug (coins should be an arraylist of Coin).
Lijuan-Z Apr 10, 2023
728d061
Fixed it!!
agrawaladityaraj Apr 10, 2023
e877c52
Merge pull request #240 from COMP2522/239-aa_fixing_database_error
immangat Apr 10, 2023
9a09ad5
Removed unnecessary print statements!
agrawaladityaraj Apr 10, 2023
8e12707
Merge pull request #242 from COMP2522/241-aa_removing_souts
immangat Apr 10, 2023
4341d56
deleted the unused Coin arraylist.
Lijuan-Z Apr 10, 2023
77bba8f
Merge pull request #238 from COMP2522/92-coins-under-an-array-list-of…
immangat Apr 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,8 @@

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

.idea
.gradle
/build
.env
46 changes: 46 additions & 0 deletions Project Pitch
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
1. A one-liner (exactly 1 sentence) that describes your project.
Fly forwards and avoid obstacles with your jetpack to get as far as possible in this action-packed 2D game, where you can upgrade your jetpack, save your progress and beat your high score.

2. A list of points (about 5-10 sentences) that describes how your project meets each of the requirement criteria.

a. Requirement 1: We will use either the arrow keys or the mouse position to move the player and maneuver around obstacles.
b. Requirement 2: We will incorporate non-blocking concurrent processing to update the player’s position and items in the background as the player moves forward. (communicate with outside server or saving game state, use API)
c. Requirement 3: The player’s state is updated as the game progresses, such as the player’s speed. The player’s speed will become increasingly fast. We can also keep track of the player’s accumulated coins so far.
d. Requirement 4: The self-managing iterable data structure will involve adding obstacles to the collection of obstacles and removing them after the player has passed them.

3. Answers to the below group discussion items
1. Meetings times: every Monday 1:30pm - 3:30pm
2. Communication: Discord group

3. Roles:
a. Project Manager & Test Maker: Jeevan
b. System Designer: Michelle
c. Architect: Lisa
d. Backend: Mangat
e. UI/UX: Aditya
4. Expectations:
a. Communicate clearly and document our code clearly
b. We want a 10/10 project
c. Everyone is responsible for making a part of the project unique







Ideas:

Doom game with generated levels
Hotline miami

Jetpack Joyride

Code to UML Diagram



Meetings time:
Communication, roles, and expectations


169 changes: 54 additions & 115 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,115 +1,54 @@
# Project

## Technical Project Requirements

The minimum requirements for the project are outlined here to give you a starting point. Meeting the minimum requirements alone will not guarantee you a good mark. You are welcome to meet and exceed the minimum requirements if you have good, creative ideas and would like to discuss them with me.

**Requirement 1**: The project must incorporate some visual interface using Processing.org libraries. All user interaction must be conducted via this interface.

**Requirement 2**: The project must incorporate some kind of non-blocking concurrent/asynchronous processing that happens at regular intervals. For example, you might push or fetch data from in the background.

**Requirement 3**: The project must incorporate some kind of non-trivial persistent data state that must be read, processed, and written at regular intervals. For example, you might save a game state in a JSON file. This may or may not be included with Requirement 2.

**Requirement 4**: The project must incorporate some kind of self-managing custom iterable data structure. For example, you might have a collection of enemies that are added and deleted based on statistics maintained by the data structure.

**Requirement 5**: The project must be well-documented, complete, and run without errors on final submission.

## Project Pitch (group, 1%)

The project pitch will be a short document that describes the kind of interactive application you would like to create with your group. The project pitch must include the following items:

*One-liner*: One-sentence description of your project.
*Outline*: 1-10 sentences that describe how your project will fulfill the project requirements.
*Communication policies*: A description of how your group will meet, communicate, and make decisions (as per Lab 03).
*Roles and responsibilities*: A description of each team member's jobs in the group.
*Milestones*: A rough outline of the major project milestones that you expect to complete and your own estimated timeline. This can and will change, so do your best to estimate and plan for the milestones to change.

Draft was due today, final due next lab. Submission here, on GitHub. Make a `.md` file that outlines the above.

## Initial UML Diagrams (group, 1%)

The initial UML diagrams will outline the class structure that your group will follow for the first milestone of the project. It must include the following items all classes that will be created by the group and important descriptive interfaces from either the Java library or created by the group. I expect that this will change significantly throughout the project, so it does not have to be perfect but it should be a best effort attempt. This is because you will use this to communicate with your group members about what to make. Therefore, the diagram should be *sufficiently complex* to give you a term's worth of work.

Draft due next Lab, final due two labs from now. Submission here, on GitHub. Suggestion is to use a tool like [draw.io](https://app.diagrams.net/) but you may use whatever tool is most useful for you.

## Initial GitHub Issues (group, 1%)

The initial GitHub issues will be the tasks that are assigned to each of your group members at the beginning of the project. Every team member should have at least five issues to start (20-30 total). You will have to decide within your group how granular you want to make these issues.

Issues will be tracked here, on GitHub.

## Final Project Demo (group, 1%)

The Final Project Demo will be a working version of your project that you will present to your lab section for review. The demo will be in lab, and will include a live demo of the working application, and a short code review. There are no slides required, but you should have practiced your demo to make sure it will run reasonably well. This will be during the last lab of class.

No submission.

## Final README.md (group, 1%)

The Final README.md must give instructions on how to run your program, a list of contributions by each member, and any references/citations for code you may have used from elsewhere.

Submission is here, on GitHub, in the `README.md` file.

## Final Product (group, 5%)

The Final Product will be evaluated for overall code design and documentation and evaluated on the same design principles as individual contributions. If you are below the 1000 line minimum contribution, your mark will be scaled down for this portion.

Submission is here, on GitHub.

## Code Contributions (individual, 15%)

You will be expected to take on a significant individual contribution to the group project (at least 1000 lines of non-trivial code). It may be in a number of forms, but here are some examples:

**Architect**: you are in charge of the high-level code structuring and organizing.

**Test maker**: you are in charge of test coverage that supports other group members.

**UI/UX lead**: you design and implement the user interface.

**Backend**: you design and implement the data structures.

**…??**: Make up your own depending on your use case, i.e., collision system designer, animation architect, async code wrangler.

Contributions must be for functional, working Java code and must be continuous throughout the term. You may not, for example, push all of your changes at the end of term. Code will be marked on following good design principles, i.e., SOLID, design patterns, etc. You are encouraged to work together and use pair programming for components, but you will be marked on your contribution to your own modules individually.

## Documentation Contributions (individual, 5%)

Your code must be well-documented with fully-formed method signatures, comments, and necessary README or Wiki pages. This is further broken down into the following.

### Initial individual pitch (1%)
A description of your individual feature that you plan to implement.

Due date TBD.

### Initial individual UML Diagrams (1%)
Any combination of sequence, communcation, or class diagrams that describe your feature's initial planned abilities.

Due date TBD.

### Documentation contributions (3%)
Your personal feature documentation, wherever it happens to show up in the final documentation.

Due with final submission.

## Issues and Pull Request Contributions (individual, 5%)
You must track your own work in the form of creating and closing GitHub issues, creating and reviewing pull requests, responding to issues that have been assigned to you, and creating issues that you assign to others (all within reason).

# Errata
The project MUST be managed here, in this GitHub repo. Nothing that happens outside of this GitHub repo will be trackable by me, therefore, it will not be marked or considered for marking.

You must use the following branching structures:
- `main` branch must always be working, tested, debugged, human-readable code.
- `<initals>_<issue #>_<optional description>` is the format for each ISSUE that you're working on. It should always be a branch off of `main`.
- Every individual branch must regularly merge `main`, and it should be no more than a few days before your branch is either merged into `main` or deleted.

You must use pull requests to manage your code integration:
- make your branch from `main`, e.g., `git checkout -b pb_71_demo`
- make your commits, e.g., `git add .` and `git commit -m "fixed issue 71 by reloading gradle for the 100th time"` and `git push origin pb_71_demo`.
- merge `main` into your branch, and NOT the other way around. E.g., `git merge main`. YOU fix all the merge conflicts or problems that arise. Commit and push again.
- go to GitHub.com and make a pull request
- one other person (NOT YOU) needs to review the code and either approve or reject your changes with detailed line-by-line comments.
- If needed, make the requested fixes and commit and push again.
- the other person (NOT YOU) will merge your PR into `main`
- the other person (NOT YOU) will delete your branch


# Are you the best RocketMan?

![RocketMan](https://github.com/COMP2522/project-rocketman/blob/main/images/rocket_man_images/rocket_man_2.jpg)

## How To Play
1. Clone the repository to a folder of your choice.
2. Open the folder in the IDE of your choice.
3. Run `GameManager` to start the game.
4. Use the up arrow key to launch the player upwards. Release the up arrow key to let the player fall back down.
5. Rockets will launch at you - use the arrow keys to avoid them. The longer you survive the higher your score becomes!

## Tips
- The player's speed will get incrementally faster the longer you survive, so get ready to dodge fast!
- Collect hearts to accumulate extra lives. You lose a life if you hit a rocket. The game is over if you hit a rocket with zero hearts left.
- Collect coins to increase your high score.
- You can check out the high scores on the `Leaderboard` tab on the main menu when you start the game.
- Press 'P' to pause/unpause the game. Pressing 'P' will also bring up the option to restart the game if you would like.

# Member Contributions
## Mangat Toor
- Window
- Collideable Interface
- Player class
- GameDBManager
- PauseGameUI
- DeadGameUI
- Rocket class
## Aditya Agrawal
- Window class
- Sprite class
- PauseGameUI
- LeaderboardUI
- LeaderboardScore
- Database
## Michelle Hung
- Sprite class
- Background class
- GameManager
- PauseGameUI
## Lisa Zhu
- Coin class
- Heart class
- GameManager
- GameManagerTest
## Jeevan Virk
- Heart class
- HeartTest
- PlayerTest
- RocketTest
- BackgroundTest
- ButtonTest
- CoinTest
## UML Diagram
![Diagram](https://github.com/COMP2522/project-rocketman/blob/main/images/UMLDiagram/FinalUMLDiagram.png)
24 changes: 24 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
plugins {
id 'java'
}

group 'org.example'
version '1.0-SNAPSHOT'

repositories {
mavenCentral()
}

dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testImplementation 'org.testng:testng:7.1.0'
testImplementation 'junit:junit:4.13.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
implementation fileTree(dir: 'library', include: ['*.jar'])
implementation 'org.mongodb:mongodb-driver-sync:4.9.0'

}

test {
useJUnitPlatform()
}
5 changes: 5 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading