update game loop
This commit is contained in:
@@ -20,15 +20,15 @@ import java.util.Scanner;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
Weapon wp = new Sword(12, 5);
|
||||
Weapon wp = new Sword(12, 15);
|
||||
ArrayList<Player> players = new ArrayList<>();
|
||||
players.add(new Assassin("Pia", 100, 100, wp, new KnightArmor(0, 1)));
|
||||
players.add(new Knight("Khan", 100, 100, wp, new KnightArmor(50, 1)));
|
||||
players.add(new Wizard("Daalou", 100, 100, wp, new KnightArmor(50, 1)));
|
||||
players.add(new Assassin("Pia", 100, 100, wp, new KnightArmor(8, 1)));
|
||||
players.add(new Knight("Khan", 100, 120, wp, new KnightArmor(12, 1)));
|
||||
players.add(new Wizard("Daalou", 100, 90, wp, new KnightArmor(15, 1)));
|
||||
ArrayList<Enemy> enemies = new ArrayList<>();
|
||||
enemies.add(new Goblin(100, 100, wp));
|
||||
enemies.add(new Skeleton(50, 100, wp));
|
||||
enemies.add(new Vampire(90, 110, wp));
|
||||
enemies.add(new Goblin(80, 100, wp));
|
||||
enemies.add(new Skeleton(70, 100, wp));
|
||||
enemies.add(new Vampire(90, 90, wp));
|
||||
ArrayList<Location> locations = new ArrayList<>();
|
||||
locations.add(new Location("Jungle", enemies));
|
||||
locations.add(new Location("China", new ArrayList<>(enemies.subList(0, 2))));
|
||||
@@ -128,16 +128,26 @@ public class Main {
|
||||
System.out.println("choose your action:\n1.light attack 2.heavy attack 3.defend 4.heal 5.special ability");
|
||||
choice = sc.nextInt();
|
||||
switch (choice) {
|
||||
case 1: player.lightAttack(enemy);
|
||||
break;
|
||||
case 2: player.heavyAttack(enemy);
|
||||
break;
|
||||
case 3: player.defend();
|
||||
break;
|
||||
case 4: player.heal(10);
|
||||
break;
|
||||
case 5: player.specialAbility(enemy);
|
||||
break;
|
||||
case 1:
|
||||
player.lightAttack(enemy);
|
||||
break;
|
||||
case 2:
|
||||
player.heavyAttack(enemy);
|
||||
if (player.isSuccessful()) break;
|
||||
else {turn = 0; continue;}
|
||||
case 3:
|
||||
player.defend();
|
||||
if (player.isSuccessful()) break;
|
||||
else {turn = 0; continue;}
|
||||
case 4:
|
||||
player.heal(10);
|
||||
if (player.isSuccessful()) break;
|
||||
else {turn = 0; continue;}
|
||||
|
||||
case 5:
|
||||
player.specialAbility(enemy);
|
||||
if (player.isSuccessful()) break;
|
||||
else {turn = 0; continue;}
|
||||
default:
|
||||
System.out.println("invalid choice");
|
||||
}
|
||||
@@ -149,15 +159,30 @@ public class Main {
|
||||
}
|
||||
if (turn == 1) {
|
||||
System.out.println("-".repeat(30));
|
||||
if (player instanceof Assassin) {
|
||||
if (player.getUsingSpecialAbility()){
|
||||
player.setUsingSpecialAbility(false);
|
||||
turn = 0;
|
||||
System.out.println(enemy.getClass().getSimpleName() + " skipped it's turn!");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
System.out.println(enemy.getClass().getSimpleName() + "'s turn: ");
|
||||
turn = 0;
|
||||
choice = new Random().nextInt(3);
|
||||
switch (choice) {
|
||||
case 0: enemy.attack(player);
|
||||
break;
|
||||
case 1: enemy.defend();
|
||||
break;
|
||||
case 2: enemy.heal(10);
|
||||
case 0:
|
||||
enemy.attack(player);
|
||||
if (player.isSuccessful()) break;
|
||||
else {turn = 1; continue;}
|
||||
case 1:
|
||||
enemy.defend();
|
||||
if (player.isSuccessful()) break;
|
||||
else {turn = 0; continue;}
|
||||
case 2:
|
||||
enemy.heal(10);
|
||||
if (player.isSuccessful()) break;
|
||||
else {turn = 0; continue;}
|
||||
}
|
||||
}
|
||||
System.out.println("[" + player.getClass().getSimpleName() + " - " + player.getHP() + "/" + player.getMaxHP()
|
||||
|
||||
Reference in New Issue
Block a user