Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Test3 {
- public static void main (String[] args) {
- Scanner Scanner = new Scanner(System.in);
- String playerCoordinates = "7:7";
- double damageDone = Double.parseDouble(Scanner.nextLine());
- double playerHP = 18500;
- double heiganHP = 3000000;
- List<String> fieldBorders = new ArrayList<>();
- for (int i = -1; i < 16 ; i++) {
- fieldBorders.add(i + ":-1");
- }
- for (int i = -1; i < 16 ; i++) {
- fieldBorders.add("-1:" + i);
- }
- for (int i = -1; i < 16 ; i++) {
- fieldBorders.add(i + ":16");
- }
- for (int i = -1; i < 16 ; i++) {
- fieldBorders.add("16:" + i);
- }
- String lastSpellCasted = "";
- int remainingDamage = 0;
- while (playerHP > 0 && heiganHP > 0) {
- playerHP -= remainingDamage;
- remainingDamage = 0;
- heiganHP -= damageDone;
- if (playerHP <= 0) {
- break;
- }
- if (heiganHP <= 0) {
- break;
- }
- String[] inputArray = Scanner.nextLine().split(" ");
- lastSpellCasted = inputArray[0];
- List<String> damageCoordinates = new ArrayList<>();
- damageCoordinates.add(inputArray[1] + ":" + inputArray[2]);
- damageCoordinates.add(Integer.toString(Integer.parseInt(inputArray[1]) - 1) + ":" + inputArray[2]);
- damageCoordinates.add(Integer.toString(Integer.parseInt(inputArray[1]) - 1) + ":" + Integer.toString(Integer.parseInt(inputArray[2]) + 1));
- damageCoordinates.add(inputArray[1] + ":" + Integer.toString(Integer.parseInt(inputArray[2]) + 1));
- damageCoordinates.add(Integer.toString(Integer.parseInt(inputArray[1]) + 1) + ":" + Integer.toString(Integer.parseInt(inputArray[2]) + 1));
- damageCoordinates.add(Integer.toString(Integer.parseInt(inputArray[1]) + 1) + ":" + inputArray[2]);
- damageCoordinates.add(Integer.toString(Integer.parseInt(inputArray[1]) + 1) + ":" + Integer.toString(Integer.parseInt(inputArray[2]) - 1));
- damageCoordinates.add(inputArray[1] + ":" + Integer.toString(Integer.parseInt(inputArray[2]) - 1));
- damageCoordinates.add(Integer.toString(Integer.parseInt(inputArray[1]) - 1) + ":" + Integer.toString(Integer.parseInt(inputArray[2]) - 1));
- if (damageCoordinates.contains(playerCoordinates)) {
- int[] playerCoordinatesArray = Arrays.stream(playerCoordinates.split(":")).mapToInt(Integer::parseInt).toArray();
- if (!damageCoordinates.contains(Integer.toString(playerCoordinatesArray[0] - 1) + ":" + Integer.toString(playerCoordinatesArray[1])) && !fieldBorders.contains(Integer.toString(playerCoordinatesArray[0] - 1) + ":" + Integer.toString(playerCoordinatesArray[1]))) {
- playerCoordinates = Integer.toString(playerCoordinatesArray[0] - 1) + ":" + Integer.toString(playerCoordinatesArray[1]);
- } else if (!damageCoordinates.contains(Integer.toString(playerCoordinatesArray[0]) + ":" + Integer.toString(playerCoordinatesArray[1] + 1)) && !fieldBorders.contains(Integer.toString(playerCoordinatesArray[0]) + ":" + Integer.toString(playerCoordinatesArray[1] + 1))) {
- playerCoordinates = Integer.toString(playerCoordinatesArray[0]) + ":" + Integer.toString(playerCoordinatesArray[1] + 1);
- } else if (!damageCoordinates.contains(Integer.toString(playerCoordinatesArray[0] + 1) + ":" + Integer.toString(playerCoordinatesArray[1])) && !fieldBorders.contains(Integer.toString(playerCoordinatesArray[0] + 1) + ":" + Integer.toString(playerCoordinatesArray[1]))) {
- playerCoordinates = Integer.toString(playerCoordinatesArray[0] + 1) + ":" + Integer.toString(playerCoordinatesArray[1]);
- } else if (!damageCoordinates.contains(Integer.toString(playerCoordinatesArray[0]) + ":" + Integer.toString(playerCoordinatesArray[1] - 1)) && !fieldBorders.contains(Integer.toString(playerCoordinatesArray[0]) + ":" + Integer.toString(playerCoordinatesArray[1] - 1))) {
- playerCoordinates = Integer.toString(playerCoordinatesArray[0]) + ":" + Integer.toString(playerCoordinatesArray[1] - 1);
- } else {
- if (inputArray[0].equals("Cloud")) {
- playerHP -= 3500;
- remainingDamage = 3500;
- lastSpellCasted = "Plague Cloud";
- } else {
- playerHP -= 6000;
- }
- }
- }
- }
- playerCoordinates = playerCoordinates.replace(":", ", ");
- if (heiganHP <= 0) {
- System.out.println("Heigan: Defeated!");
- } else {
- System.out.printf("Heigan: %.2f\n", heiganHP);
- }
- if (playerHP <= 0) {
- System.out.println("Player: Killed by " + lastSpellCasted);
- } else {
- System.out.printf("Player: %.0f\n", playerHP);
- }
- System.out.println("Final position: " + playerCoordinates);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment