"Monstermon Adventures" is an application that brings the excitement of monster collection and battling to your fingertips. Create and customize your own monsters by giving them unique names, selecting their types, and assigning them health points. Assemble a team of 5 powerful monsters and challenge other teams to epic battles. The game will determine the victor and keep track of your progress, so you can pick up right where you left off whenever you want to play. Experience the thrill of monster collecting and battling anytime, anywhere with Monstermon.
In Monstermon, players can build their own monster collection by creating unique monsters with names, types, and health points. These monsters can be assigned to specific teams, ready to be called upon for thrilling battles against other teams. The ability to customize and strategically assemble teams adds an extra layer of excitement to the monster battling experience.
In Monstermon, monsters come in three different types: fire, water, and grass. Each monster has a base damage of 50, which is then multiplied by a type-specific multiplier during battle. If a monster has a type advantage over its opponent, its damage multiplier is increased to 1.5, while a type disadvantage results in a multiplier of 0.5. This creates an exciting and strategic element to the battles, as players must consider the types of their monsters and their opponents' to maximize their damage.
Type advantages and disadvantages in Monstermon are calculated using the following system:
Monstermon battles are intense one-on-one matchups between monsters. Each battle continues until one monster's health points are depleted, at which point the next monster from the respective team enters the arena. This process continues until all the monsters on one team have been defeated, resulting in a victorious team. The tension and excitement build as players strategize and select their monsters, knowing that one false move could lead to defeat.
Monstermon is the perfect game for fans of monster battling and role-playing battle simulation games. The application offers an exciting and engaging experience that can be enjoyed by players of all ages. Users can create and customize their own monsters and teams, strategize their team compositions, and battle against other teams. Whether you're a seasoned player or new to the genre, Monstermon offers an immersive and thrilling experience for all those who are passionate about monster battling.
As a dedicated fan of the Pokémon franchise, the development of this monster collection and battling simulation game holds a special significance to me. My passion for this genre of games has only grown stronger as I delve into the intricate functionalities and concepts behind them. The captivating stories and adventure-style gameplay of the Pokémon franchise have always captivated me and helped me sharpen my problem-solving skills and strategic thinking.
With this project, I aim to take my understanding of both Pokémon and Java programming to a new level by creating a smaller scale simulation that captures the essence of the Pokémon experience. I am excited to explore the possibilities of this project and push my skills to their limits.
- As a user, I want to have the ability to create unique monsters by assigning them a name, type and a specific number of health points.
- As a user, I want to be able to assemble a team of monsters, carefully selected from my collection.
- As a user, I want to have the ability to remove any monsters that do not meet my standards from my team, allowing me to fine-tune and optimize my team's composition.
- As a user, I want to be able to rename a monster or an entire team to give it a personal touch.
- As a user, I want to be able to view the characteristics of individual monsters within my collection, such as their name, type and health points.
- As a user, I want the ability to save my collection of unique monsters and carefully assembled teams to a file for future use (if I so choose).
- As a user, I want the ability to load my previously saved monsters and teams from a file, so that I can easily resume my gameplay (if I so choose).
- As a user, I want to be able to engage in thrilling battles against other teams of monsters.
In the future, I plan to expand the Monstermon universe by adding more types of monsters to the game, and creating a more complex system of type advantages and disadvantages. Furthermore, I aim to enhance the user interface by implementing visually appealing sprites and other graphics that will make the game more immersive. Additionally, I want to develop a system that allows monsters to have specific Skill Values such as attack, defense, and speed adding yet another layer of strategy and depth to the battling experience.
- Wed Apr 12 19:12:19 PDT 2023
Monstermon created
- Wed Apr 12 19:12:24 PDT 2023
Monster Bulbasaur created
- Wed Apr 12 19:12:24 PDT 2023
Monster Bulbasaur added to Monstermon
- Wed Apr 12 19:12:27 PDT 2023
Team Team 1 created
- Wed Apr 12 19:12:27 PDT 2023
Team Team 1 added to Monstermon
- Wed Apr 12 19:12:30 PDT 2023
Monster Bulbasaur added to team Team 1
- Wed Apr 12 19:12:30 PDT 2023
Monster Bulbasaur added to team Team 1 in Monstermon
- Wed Apr 12 19:12:38 PDT 2023
Monster Charmander created
- Wed Apr 12 19:12:38 PDT 2023
Monster Charmander added to Monstermon
- Wed Apr 12 19:12:41 PDT 2023
Team Team 2 created
- Wed Apr 12 19:12:41 PDT 2023
Team Team 2 added to Monstermon
- Wed Apr 12 19:13:01 PDT 2023
Monster Charmander added to team Team 1
- Wed Apr 12 19:13:01 PDT 2023
Monster Charmander added to team Team 1 in Monstermon
- Wed Apr 12 19:13:06 PDT 2023
Monster Charmander removed from team Team 1
- Wed Apr 12 19:13:06 PDT 2023
Monster Charmander removed from team Team 1 in Monstermon
- Wed Apr 12 19:13:09 PDT 2023
Monster Charmander added to team Team 2
- Wed Apr 12 19:13:09 PDT 2023
Monster Charmander added to team Team 2 in Monstermon
- Wed Apr 12 19:13:14 PDT 2023
Monsters saved to JSON
- Wed Apr 12 19:13:14 PDT 2023
Teams saved to JSON
After reviewing the UML diagram, I believe that implementing the Observer Pattern would benefit my application. To achieve this, I would create an "Observer" interface and a "Subject" class. Both the ManipulateMonstersTab and the ViewTeamsTab would extend the Observer interface, and the MonstermonUI would extend the Subject class. This implementation would ensure that any changes made to the Monstermon field within MonstermonUI would trigger the update method, updating the corresponding Tabs to display the Monsters that are part of the Teams accurately.
Moreover, I plan to refactor the code in the future to eliminate unnecessary clutter by removing the Monsters and Teams classes, and implementing the saving and loading functionality within the Monster and Team classes. I would also like to make the Team class implement the Iterable interface over Monster. This modification would create blissful ignorance as discussed in class, enabling the for each loop to perform its function without knowing much about the monsters field or the operation being carried out on them. Additionally, removing monsters from teams would be a simpler process with the implementation of iterators, which would allow for easy removal.