Skip to content

GZolla/ProfessionalRumble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Personal Project

Program Description

A turn-based game of strategy where two teams of professional use a combination of moves/actions to defeat the opponent, the team with the last professional standing wins. Moves can:

  • Cause damage to the opponent
  • Change its stats
  • Inflict statuses
  • Other combinations of these effects

Based on pokemon battles, its target audience is those that seek a similar game based purely on strategy, and not randomness. This is a collective idea I had with a friend but would love give it actual life through a desktop app.

##User Stories

  • As a user, I would like to customise the moves given to a professional.
  • As a user, I would like to add professionals to a team of professionals.
  • As a user, I would like to use my team in a pokemon-style battle against another team of professionals.
  • As a user, I would like to be able to improve the stats of my professionals or lower the stats of the opponent's
  • As a user, I would like to use critical moves that ignore negative stat changes and improve damage(like in pokemon)
  • As a user, I would like to inflict statuses with varying effects to the opponent's professional
  • As a user, I would like to have battles in a local 1 versus 1 with another player
  • As a user, I would like to be able to save teams to a file
  • As a user, I would like to be able to save battles to a file
  • As a user, I would like to be able to have credential to access my personal teams

##Phase 4: Task 2 Option 2:

Both StatModifier and StatusInflictor extend the abstract class CounterSetter, the class has protected fields chargeTurns and windowTurns; the class also implements the method apply overridden from the effect interface. Declares the abstract method finalApply which is implemented in each subclass.

##Phase 4: Task 3

  • The whole Round class could be refactored:
    • It holds fields for two players that are the same as the ones in its battle field, so a boolean stating who is first could be stored instead of those fields
    • Both Move and Effect receive a Round in their methods, this is just the last round of the active battle, instead of a parameter, this methods could retrieve this round using the final BATTLEMGR.
    • To improve cohesion, a class Action could be created to parse the actions of the players and compare with each other to determine who goes first.
  • Priority and FailCondition are weirdly structure to handle similar responsibilities:
    • Priority could handle returning priority and final apply, while fail condition could handle all fail conditions
    • This means a third class could be chosen that contains a Priority and a FailCondition class to mix this effects
  • Since CustomForm handles only login and signup forms, this responsibilities could be handled in that class leaving UserManager to handle only the display
  • Team could iterable on its members and Battle on its rounds
  • A single HashMap that has Volatile keys and Integer values could be used to identify what Volatile statuses a professional has and the corresponding volatileTurns

##Sources For Images in data/icons:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages