COMP2396
Loading...
Searching...
No Matches
OfficeCombat1.java
Go to the documentation of this file.
1package assignment2;
2import java.io.*;
3
4public class OfficeCombat1 {
5 public static void main(String[] args) throws IOException {
6 InputStreamReader isr = new InputStreamReader(System.in);
7 BufferedReader inData = new BufferedReader(isr);
8
9 // Input combat data
10 String c1_info[] = inData.readLine().split(" ");
11 String c2_info[] = inData.readLine().split(" ");
12 String w1_info[] = inData.readLine().split(" ");
13 String w2_info[] = inData.readLine().split(" ");
14
15 Character c1 = new Character(c1_info[0], Integer.valueOf(c1_info[1]), Integer.valueOf(c1_info[2]));
16 Character c2 = new Character(c2_info[0], Integer.valueOf(c2_info[1]), Integer.valueOf(c2_info[2]));
17 Weapon w1 = new Weapon(w1_info[0], Integer.valueOf(w1_info[1]));
18 Weapon w2 = new Weapon(w2_info[0], Integer.valueOf(w2_info[1]));
19
20 // Start fighting
21 System.out.println("Now fighting: " + c1.getName() + " VS " + c2.getName());
22 System.out.println("Skill level of " + c1.getName() + ": " + c1.getSkillLevel());
23 System.out.println("Skill level of " + c2.getName() + ": " + c2.getSkillLevel());
24 System.out.println("Energy level of " + c1.getName() + ": " + c1.getEnergyLevel());
25 System.out.println("Energy level of " + c2.getName() + ": " + c2.getEnergyLevel());
26 System.out.println("----------------------------");
27
28 int round = 0;
29 while (!c1.isLose() && !c2.isLose()) {
30 if (round % 2 == 0) {
31 int attackAmount = c1.attack(w1);
32 int hurtAmount = c2.hurt(attackAmount);
33
34 System.out.println(c1.getName() + " makes an attack by " + w1.getName() + "!");
35 System.out.println(c2.getName() + " takes a hurt of " + hurtAmount + "! Remaining energy becomes " + c2.getEnergyLevel() + ".");
36 }
37 else {
38 int attackAmount = c2.attack(w2);
39 int hurtAmount = c1.hurt(attackAmount);
40
41 System.out.println(c2.getName() + " makes an attack by " + w2.getName() + "!");
42 System.out.println(c1.getName() + " takes a hurt of " + hurtAmount + "! Remaining energy becomes " + c1.getEnergyLevel() + ".");
43 }
44 round++;
45 }
46
47 if (c1.isLose()) {
48 System.out.println(c2.getName() + " wins!");
49 }
50 else {
51 System.out.println(c1.getName() + " wins!");
52 }
53 }
54}
The Character class represents any game character with a name, skill level, and energy level.
Definition Character.java:7
int hurt(int attackAmount)
Reduces the energy level of the character by the specified attack amount.
boolean isLose()
Determines whether the character has lost the combat.
int getSkillLevel()
Returns the skill level of the character.
int getEnergyLevel()
Returns the current energy level of the character.
int attack(Weapon w1)
Calculates the total attack amount generated by the character.
String getName()
Returns the name of the character.
static void main(String[] args)
The Weapon class represents any game weapon with a name and power level.
Definition Weapon.java:7
String getName()
Returns the name of the weapon.
Definition Weapon.java:27