Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Question 1. (Magician.java, Healer.java, Fighter.java, HeroTester.java) You have been asked to create a new training program for the holographic simulator. The simulation is a bit

image text in transcribedQuestion 1. (Magician.java, Healer.java, Fighter.java, HeroTester.java) You have been asked to create a new training program for the holographic simulator. The simulation is a bit unusual in that it is designed to simulate a 20th century Earth game called Dungeons and Dragons. Your commanding officer thinks this training simulation will be more fun and engaging than the standard simulations that the crew has been using previous. To create the simulation, consider the abstract hero class and the three subclasses shown below.

the dealDamagel) method for the Healer does between 3 and 5 points of damage Question 1. (Magician.java, Healer.java, Fighter.java, HeroTester.java) You have been asked to create a new training program for the holographic simulator. The simulation is a bit unusual in that it is designed to simulate a 20 century Earth game called Dungeons and Dragons. Your commanding officer thinks this training simulation will be more fun and engaging than the standard simulations that the crew has been using previous. To create the simulation, consider the abstract "hero" class and the three subclasses shown below. If your hero is out of special skill points they can only call the base dealDamage() method fie, they cannot use their special skill). Once a hero is dead, they can't do anything because they're dead. In addition to any extra accessors and mutators you should override the toString method for easy printing of the hero state. Here Write JavaDocs for each of the three subclasses (not the tester). Your command officer does realize that your regular duties might leave you short on time. As a result, they have given you three options for testing the work you completed above Option 1: (for almost full tester marks) Write a hard-coded tester that does the following: Create an array of three heroes (one of each subclass type) Show that each of the methods works for each hero Create at least one Borg object and have one of your heroes battle the Borg, show at least a couple of interactions. Option 2: (for full tester marks) Write a tester that does the following: PLEththit Review the hero class to see how it works (it's in the project/package for you already). Your job is to implement the following subclasses that will be used in the training simulation). Each of the subclasses has an extra data field that relates to their specific hero talent. Some help with these special talents and other methods are below. Fighter: -The fighter has an extra data field called Strength and a method called Berserk. When the fighter calls Berserk they do damage equal to 1/3 of their existing health BUT they lose 1/4 of their existing health round to integer values). Using Berserk costs one Strength point. When a fighter is constructed they have 3 strength points Create an array of three heroes (one of each subclass type) Create an array of 10 Borg (already in the project/package) Wage an epic battle between the groups Heroes attack first in sequence (le, hero(0) attacks first, then hero(1) and so on) . They attack the Borg in sequence (each hero attacks the first Borg in the array until it is vanquished and then they move onto the next) Borg attack next in order (Borg 0, then Borg 1 and so on) but they attack a random hero. . If a hero dies it cannot attack nor be attacked any further, skip it in the rotation. Same for ex-Borg. At any point, if all the heroes have met their doom, the Borg win. If any of the heroes live and the Borg are all dispatched, then yay! Your tester should keep you updated on how the battle is progressing by telling you how many Borg are left, what is the state of your heroes after the round, who has died if anyone) and when there is a win condition. Heroes have a 40% chance of using their special skill. The other 60% is regular damage. If a hero tries to use their special skill but they have no special skill points left, they simply do regular damage. If you're stuck, try a battle between 1 hero and 1 Borg to get the mechanics figured out, then move onto the arrays. -the dealDamage() method for the fighter does between 7 and 10 points of damage Magician: -The magician has an extra data field called Mana and a method called ughtning. When the magician calls Lightnine the damage they inflictis quadruple what it would have been otherwise. Call the existing dealDamage function and quadruple the value before dealing it to the enemy. Using Lightning costs 1 Mana point and a magician has 4 Mana points to start with Option 3: (for full tester marks and a special badge on the badges site): -the dealDamagel) method for the magician does between 4 and 6 points of damage Same as option 2 BUT allow the user to select which hero they want to send into battle, which Borg they want to attack and whether or not to do regular damage or use their special attack. The rules of the game must be maintained. Players cannot attack with dead heroes and probably shouldn't attack dead Borg. Healer -The healer has an extra data field called Dexterity and a method called Heal. When the healer calls Heal each LIVING member of the party receives between 5 and 10 health points (not to pass 100 and each receives one point back to their special skill dexterity, mana or strength). Calling Heal costs 2 Dexterity points and a healer starts with 4 Dexterity. Hint: The heal method determines how many points are restored to each party member's health. let your main method do the actual work of healing the surviving heroes ***PLEASE post the output of some of your battles to the forum so that people can see how your tester is working the dealDamagel) method for the Healer does between 3 and 5 points of damage Question 1. (Magician.java, Healer.java, Fighter.java, HeroTester.java) You have been asked to create a new training program for the holographic simulator. The simulation is a bit unusual in that it is designed to simulate a 20 century Earth game called Dungeons and Dragons. Your commanding officer thinks this training simulation will be more fun and engaging than the standard simulations that the crew has been using previous. To create the simulation, consider the abstract "hero" class and the three subclasses shown below. If your hero is out of special skill points they can only call the base dealDamage() method fie, they cannot use their special skill). Once a hero is dead, they can't do anything because they're dead. In addition to any extra accessors and mutators you should override the toString method for easy printing of the hero state. Here Write JavaDocs for each of the three subclasses (not the tester). Your command officer does realize that your regular duties might leave you short on time. As a result, they have given you three options for testing the work you completed above Option 1: (for almost full tester marks) Write a hard-coded tester that does the following: Create an array of three heroes (one of each subclass type) Show that each of the methods works for each hero Create at least one Borg object and have one of your heroes battle the Borg, show at least a couple of interactions. Option 2: (for full tester marks) Write a tester that does the following: PLEththit Review the hero class to see how it works (it's in the project/package for you already). Your job is to implement the following subclasses that will be used in the training simulation). Each of the subclasses has an extra data field that relates to their specific hero talent. Some help with these special talents and other methods are below. Fighter: -The fighter has an extra data field called Strength and a method called Berserk. When the fighter calls Berserk they do damage equal to 1/3 of their existing health BUT they lose 1/4 of their existing health round to integer values). Using Berserk costs one Strength point. When a fighter is constructed they have 3 strength points Create an array of three heroes (one of each subclass type) Create an array of 10 Borg (already in the project/package) Wage an epic battle between the groups Heroes attack first in sequence (le, hero(0) attacks first, then hero(1) and so on) . They attack the Borg in sequence (each hero attacks the first Borg in the array until it is vanquished and then they move onto the next) Borg attack next in order (Borg 0, then Borg 1 and so on) but they attack a random hero. . If a hero dies it cannot attack nor be attacked any further, skip it in the rotation. Same for ex-Borg. At any point, if all the heroes have met their doom, the Borg win. If any of the heroes live and the Borg are all dispatched, then yay! Your tester should keep you updated on how the battle is progressing by telling you how many Borg are left, what is the state of your heroes after the round, who has died if anyone) and when there is a win condition. Heroes have a 40% chance of using their special skill. The other 60% is regular damage. If a hero tries to use their special skill but they have no special skill points left, they simply do regular damage. If you're stuck, try a battle between 1 hero and 1 Borg to get the mechanics figured out, then move onto the arrays. -the dealDamage() method for the fighter does between 7 and 10 points of damage Magician: -The magician has an extra data field called Mana and a method called ughtning. When the magician calls Lightnine the damage they inflictis quadruple what it would have been otherwise. Call the existing dealDamage function and quadruple the value before dealing it to the enemy. Using Lightning costs 1 Mana point and a magician has 4 Mana points to start with Option 3: (for full tester marks and a special badge on the badges site): -the dealDamagel) method for the magician does between 4 and 6 points of damage Same as option 2 BUT allow the user to select which hero they want to send into battle, which Borg they want to attack and whether or not to do regular damage or use their special attack. The rules of the game must be maintained. Players cannot attack with dead heroes and probably shouldn't attack dead Borg. Healer -The healer has an extra data field called Dexterity and a method called Heal. When the healer calls Heal each LIVING member of the party receives between 5 and 10 health points (not to pass 100 and each receives one point back to their special skill dexterity, mana or strength). Calling Heal costs 2 Dexterity points and a healer starts with 4 Dexterity. Hint: The heal method determines how many points are restored to each party member's health. let your main method do the actual work of healing the surviving heroes ***PLEASE post the output of some of your battles to the forum so that people can see how your tester is working

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Databases In Networked Information Systems 6th International Workshop Dnis 2010 Aizu Wakamatsu Japan March 2010 Proceedings Lncs 5999

Authors: Shinji Kikuchi ,Shelly Sachdeva ,Subhash Bhalla

2010th Edition

3642120377, 978-3642120374

More Books

Students also viewed these Databases questions

Question

Find the derivative of y= cos cos (x + 2x)

Answered: 1 week ago

Question

Understand the different approaches to job design. page 167

Answered: 1 week ago