Added methods for reading and writing upgrade_status.properties file:
loadUpgradeStatus
saveUpgradeStatus
loadDefaultUpgradeStatus
UpgradeManager
Added a class to manage player stat upgrades:
Coin acquisition multiplier
Ship movement speed
Bullet speed
Bullet firing speed
TitleScreen
Implemented Merchant functionality:
Upgrades are now properly applied to the player's stats.
ScoreScreen.java
Added functionality to reward 1 gem to the player when they clear the game.
Gems are given every time a player completes the game without dying at the final level.
Modifications
PlayerGrowth
PlayerGrowth, which contains the basic information of the Ship object, is now initialized using values from upgrade_status.properties.
RoundState
Stat bonuses are now initialized using values from upgrade_status.properties.
ScoreScreen.java
Added saveGem() to increase the gem count by 1 upon game completion.
Implemented conditions to display the game clear screen and trigger saveGem() only when the game is cleared.
DrawManager.java
Added drawGameClear() to render the game clear screen.
Miscellaneous
This PR focuses on implementing features in collaboration with the Item and Main Menu teams. Please note that gem consumption and upgrade level settings will be handled through future collaboration.
Additions
FileManager.java
upgrade_status.properties
file:loadUpgradeStatus
saveUpgradeStatus
loadDefaultUpgradeStatus
UpgradeManager
TitleScreen
ScoreScreen.java
Modifications
PlayerGrowth
upgrade_status.properties
.RoundState
upgrade_status.properties
.ScoreScreen.java
saveGem()
to increase the gem count by 1 upon game completion.saveGem()
only when the game is cleared.DrawManager.java
drawGameClear()
to render the game clear screen.Miscellaneous
This PR focuses on implementing features in collaboration with the Item and Main Menu teams. Please note that gem consumption and upgrade level settings will be handled through future collaboration.
Visual Examples