Mehmet U.

asked • 05/20/21

2D Array Question

There is a 2D-rectangular MxN Terrain. On each square of the terrain, there may or may not be some gold and a Monster. Each monster has a name and damage (a numeric value between 1- 10). Some Heroes are traversing on the terrain. Each Hero has a name, health (a numeric value between 0-100), and a wallet that contains the golds he has collected. When a hero steps onto a square on the terrain, first he collects all of the golds placed on that square. Then, If there is a monster on the current square, Hero must fight with the monster and kill it. This fight decreases Hero’s health by the monster’s damage. If the Hero’s health drops below 0 after the battle, both Hero and monster die, and his/her golds disappear. When two or more heroes step on the same square simultaneously, the one with more health survives, and the other Hero dies. If there is gold on the square, the surviving Hero collects the gold. If there is a monster on the same square, the surviving Hero fights with the monster. At each turn, each Hero is moving one step randomly in one of 4 directions (i.e., up, down, left, right) Model the scenario above in OOP Main class has only the main () function. In the main, read the input file create the terrain and heroes accordingly. Simulate the terrain for a given number of turns (Ask the user to read from the keyboard). Print out the terrain, the positions, and the golds of each hero and monster at each turn. Also, print out any fights happening at each turn.


Terrain Info

5 / M

4 / N

0 0 1 2 / number of golds at each position in the terrain

2 3 4 1

1 1 0 0

0 2 2 1

2 1 1 0


Monster info

2 / number of monsters

0 2 Monster1 2 / row col name damage

3 1 Monster2 5


Hero info

1 / number of heroes

1 2 Hero1 100 / row col name health


1 Expert Answer

By:

Patrick B. answered • 05/21/21

Tutor
4.7 (31)

Math and computer tutor/teacher

Still looking for help? Get the right answer, fast.

Ask a question for free

Get a free answer to a quick problem.
Most questions answered within 4 hours.

OR

Find an Online Tutor Now

Choose an expert and meet online. No packages or subscriptions, pay only for the time you need.