java project phase 2

I am paying 100$ because I need someone to do phase 2 of my project. the reason it’s 100$ is because the tutor who did my phase 1 of my project did it wrong, and phase 1 is needed for phase 2. I will send phase 1 (you might have to do it to understand phase 2) but I do not need it. I need phase 2. This needs to be done by Monday, July 26th at 11:00p.m. The tutor will need to solely focus on this project alone. JAVA ONLY.

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper

CSE 1325: Object-Oriented Programming
University of Texas at Arlington
Summer 2021
Dr. Alex Dillho
Project Phase I
Description
In this phase, you will create a table top RPG combat simulator based on a simple set of
rules described below. This application should have support for 2 players. Each player
can create their own custom character before playing. Players can ght each other with
enough randomness and optional choices to make it interesting each time.
This rst phase will require implementing concepts involving classes, objects, logging, and
UML diagram creation.
Features
This application will include the following features:
ˆ Player Creation – Players can create their own character with a name, some basic
stats, and a weapon.
ˆ Combat System – A basic combat system based on a simplied version of a popular
table top game will be implemented.
ˆ File I/O – The program will interface with les both for logging and for reading
external data.
UML Diagrams
All classes created for this project must have an accompanying UML diagram. Please
submit a published format of the diagrams (image or PDF) that does not require an
additional program to view.
Players
Player characters have a name, creation date, and the following stats:
ˆ Hit Points (HP)
ˆ Armor Class (AC)
ˆ Strength (STR)
ˆ Dexterity (DEX)
ˆ Constitution (CON)
CSE 1325: Project Phase I
Dillho
Character Stats
Character stats can be assigned a value in the range [0, 10]. Associated with each stat is
a modier value which can augment certain rolls and abilities. A stat value of 5 has NO
modier value (+0). For each point below 5, subtract 1 from the modier. For example,
a value of 3 has a modier of (-2). For each point above 5, add 1 to the modier. For
example, a value of 9 has a modier of (+4).
When creating a character, a player has 10 points to put into their stats however they
choose. Their choice of stats will aect how much bonus HP and AC they have. Each
player starts with 50 HP and 15 AC by default. After selecting their stats, the player’s
total HP is calculated as
HP = 50 + CON modier
and their total AC is calculated as
AC = 15 + DEX modier
Weapons
A player may select out of the following list of weapons. This list will be provided for you
to use with your program in CSV format. You must create a Weapon class to represent
them in your code.
Each weapon has a name, a damage statistic, and a hit bonus. Typically, weapons that
do more damage will be slower and have a lower chance of hitting.
Name
Greataxe
Longsword
Warhammer
Shortsword
Dagger
Weapons
Damage Bonus To-Hit
1d12
0
1d10
1
1d8
2
1d6
3
1d4
4
The Map
By the end of this project, the application will utilize a graphical framework to display
the characters and the map that they move on. For this phase, the map is a simple 25 by
25 grid. Each character will have an instance eld which keeps track of its own position
relative to the map they are in.
Combat System
When initiating combat, the two players will roll a d20 and add their dexterity modier.
The player with the higher number will go rst. If the rolls are equal, they must re-roll
until the tie is broken.
2
CSE 1325: Project Phase I
Dillho
Once the initiatives are set, the rst round of combat begins. A round of combat consists
of all eligible players taking at most 1 action and moving up to 5 grid units.
Actions
In Phase I, the actions will be limited. A player can either attack or attempt to disarm
the other player.
Attacking
To attack, the player must rst roll to see if they strike. They roll a d20 and add their
DEX modier and weapon bonus. This roll is compared to the target’s AC value. If the
attack roll is equal to or higher than the target’s AC, the attack is successful and the
attacker may roll their damage dice determined by their weapon.
Each weapon has some damage value, such as d6, which is rolled whenever an attack is
made. The player’s STR modier is added to this roll when calculating the amount of
damage done to the target.
Disarming
Instead of attacking, a player can attempt to disarm the other player. If the player chooses
this option, both the target and the attack must roll a d20 and add their STR modier. If
the attacker’s roll is STRICTLY higher than the target’s roll, then the target is disarmed
for 2 rounds of combat. During this time, the target cannot perform any attack or disarm
actions. They are still able to move.
Movement
In addition to their action, each player may move up to 5 units during their turn. They
may not move into the same space as another player nor may they move anywhere outside
of the map area.
The Application
All of these components will be utilized as part of an application, starting with the main
menu:
1. Start Game
2. Create Characters
3. Exit
Creating Characters
When creating a character, start by prompting for the name. A sub-menu should then
prompt the user to either enter their stats manually or randomly assign them.
Enter Character Name: Player 1
3
CSE 1325: Project Phase I
Dillho
1. Manual Stats
2. Random Stats
Manual or Random Stats? 1
If the user picks manually, the following menu will loop until all stats are assigned.
STR: 0
DEX: 0
CON: 0
Remaining: 10
1. Add STR
2. Add DEX
3. Add CON
4. Reset
5. Finish
> 1
Weapon Selection
After selecting their stats, the player will select a weapon.
1. Greataxe, Damage: 1d12, Bonut To-Hit: 0

Select weapon: 1
After all selections are made, the user should be shown a Character summary based on
their choices. They can choose to either conrm or start over. Once they conrm, the
second character should be created.
Once both characters are created, the main menu is shown again.
Grading Requirements
This section describes the requirements, based on the features above, that will be considered when grading projects.
Player Class
ˆ Should have at least 2 constructors.
ˆ Includes instance elds based on the descriptions above.
ˆ Creation Date should be private.
ˆ Includes methods which calculate modier values based on internal instance elds.
ˆ Includes an instance eld for the Weapon class.
ˆ Must have appropriate accessors and mutators for elds needed by other classes.
Weapon Class
4
CSE 1325: Project Phase I
Dillho
ˆ Should have at least 2 constructors.
ˆ The instance elds should reect the properties listed in the table above.
ˆ Must have appropriate accessors and mutators for elds needed by other classes.
The Map
ˆ Dened as a 25 by 25 grid.
ˆ Can query to see if a particular space is occupied.
Combat System
ˆ Implement initialization.
ˆ Implement Actions (attack and disarm).
ˆ Should print to the terminal each action and movement that occurred.
Application
ˆ Implement menus and program control ow based on the descriptions above.
ˆ Should be implemented as a separate le.
Code
ˆ Code should be formatted consistently.
ˆ The project should compile without warnings or errors.
UML Diagrams
ˆ Each class in your project should have a corresponding class diagram.
ˆ The main diagram should show the relationship between all classes in your project.
Submitting
Submit all class les, UML diagrams, and other code les on Canvas as a compressed
zip le named LASTNAME_ID_P1.zip, where LASTNAME is your last name and ID is your
student ID starting with 1xxx.
5
CSE 1325: Object-Oriented Programming
University of Texas at Arlington
Summer 2021
Dr. Alex Dillho
Project Phase II
Description
In the second phase of the project, you will expand the features of the TableTop RPG
Combat Simulator to include combat against Monsters.
This phase includes the following Java concepts: Inheritance, Abstract Classes and Methods, and Exception Handling.
Class Changes
Creature
class
Create a new class Creature which will serve as a superclass for two subclasses. This
class should include the following instance elds:
ˆ Name
ˆ Creation Date
ˆ Hit Points (HP)
ˆ Armor Class (AC)
ˆ Strength (STR)
ˆ Dexterity (DEX)
ˆ Constitution (CON)
This class will declare the abstract method attack(Creature) which will be dened in
each of the following subclasses.
Additionally, this class will dene the takeDamage(int) method which lowers the HP of
the Creature based on the input value. A creature’s HP must not be allowed to
drop below 0.
Player
class
Modify the Player class so that it extends the Creature class. It will include a Weapon
as one of its instance elds. As with the other instance elds, this should be private
with corresponding getter and setter methods.
Dene the abstract attack(Creature) method. For the Player class, this will be
identical to the implementation in Phase I.
CSE 1325: Project Phase II
Monster
Dillho
class
Modify the Monster class so that it extends the Creature class. This class will include
an instance eld of type enum MonsterType specifying the type of monster (see below).
Dene the abstract attack(Creature) method. For the Monster class, the rules are
simplied. First, roll to see if the monster hits the target (d20 + DEX modifier). A hit
is successful if the resulting value is greater than or equal to the target’s AC value.
On a successful hit, roll damage (d6 + STR modifier). The target will take that damage
with a call to takeDamage(int).
MonsterType enum
Create an enum class le name MonsterType. This will be used as an instance eld for
the Monster class. This enum will have the following values:
ˆ Humanoid
ˆ Fiend
ˆ Dragon
Features
Load/Save Characters
Included in the main menu should be the option to both save and load characters. When
selecting the save character option, a list of the current characters in memory should
be displayed to the user. The user should then be able to select with character is saved.
When saving a character, write the character instance elds to CSV format followed by
their Weapon stats. Saving a character should create a le based on the character’s name
(e.g. “Grog.csv”) and store it in the relative directory “saved/players/Grog.csv”.
Main Menu Example
1.
2.
3.
4.
5.
Start Game
Create Character
Load Character
Save Character
Quit
Loading a character should search the relative directory “saved/players” for any CSV
les and populate a list of les to load. If the user selects one, attempt to load the data
and populate an object reecting that character. If a character with that name is already
loaded, warn the user and return to the main menu.
All le operations must catch any exceptions due to non-existing les or other
I/O issues.
2
CSE 1325: Project Phase II
Dillho
Name Restrictions for Players
When creating a new character, validate the name based on the following criteria:
ˆ Cannot contain numbers.
ˆ Cannot contain special characters.
ˆ Must start with a capital letter.
Combat Against Monsters
When starting a new game, the user should have the option to play against monsters. If
they choose this option, the user will then select the number of monsters to battle. Your
code should randomly create the monster objects based on a database of monsters loaded
from a CSV le (provided via Canvas).
Start Game Example
1. Play with Random Monsters
2. Play with Players Only (PvP)
3. Back
The monsters will not be controlled by the user. Instead, they will attempt to attack a
player if a player is in range. If there are no players in range, then their turn is skipped.
If there are multiple players in range, attack one of them at random. Monsters should be
depicted on the 2D map as M.
BONUS (10 Points): Implement basic AI movement by having the monsters move as
close as they can (5 spaces per turn) towards a player IF they are not already by a player.
Rolling Initiative
With multiple players and monsters on the eld, rolling for initiative will become more
complicated. Implement a method rollInitiative(ArrayList) which will
sort the list of all creatures based on their individual initiative rolls. If multiple creatures
roll the same value, their order will be determined by their position in the sorted array.
In other words, you don’t need to do anything special for duplicates.
Combat Changes
As with Phase I, only Player characters can be controlled by the user. Any Monsters on
the eld must behave as dened above. The battle ends when either all Player characters
reach 0 HP or all Monster characters reach 0 HP.
3
CSE 1325: Project Phase II
Dillho
Grading Requirements
This section describes the requirements, based on the features above, that will be considered when grading projects.
Creature Class
ˆ Includes instance elds based on the descriptions above.
ˆ Must have appropriate accessors and mutators for elds needed by other classes.
Player Class
ˆ All previous instance elds from Phase I should no longer be here (except Weapon).
ˆ Includes an instance eld for the Weapon class.
ˆ Implement attack(Creature) from Creature.
Monster Class
ˆ Includes MonsterType enum as an instance eld.
ˆ Implement attack(Creature) from Creature.
ˆ Show each Monster on the map as M.
Combat System
ˆ Implement initialization for all Creatures.
Application
ˆ Implement menus and program control ow based on the descriptions above.
ˆ Should be implemented as a separate le.
ˆ All Players and Monsters should be contained in an instance eld of type ArrayList
Code
ˆ Code should be formatted consistently.
ˆ The project should compile without warnings or errors.
UML Diagrams
ˆ Each class in your project should have a corresponding class diagram.
ˆ The main diagram should show the relationship between all classes in your project.
Submitting
Submit all class les, UML diagrams, and other code les on Canvas as a compressed
zip le named LASTNAME_ID_P2.zip, where LASTNAME is your last name and ID is your
student ID starting with 1xxx.
4
Acolyte
HUMANOID
Adult Black DRAGON
Dragon
Goblin
HUMANOID
Gold DragonDRAGON
Wyrmling
Bearded Devil
FIEND
Rakshasa FIEND
9
195
7
60
52
110
10
19
15
17
13
16
5
11
4
9
8
7
5
7
7
7
7
8
5
10
5
8
7
9
Greataxe 1d12
Longsword 1d10
Warhammer
1d8
Shortsword1d6
Dagger
1d4
0
1
2
3
4

Still stressed from student homework?
Get quality assistance from academic writers!

Order your essay today and save 25% with the discount code LAVENDER