Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Demo1 {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- String[][] chamber = new String[15][15];
- double playerHP = 18500;
- boolean playerLost = false;
- double playerDmg = Double.parseDouble(scanner.nextLine());
- double bossHP = 3000000;
- boolean playerWon = false;
- int playerX = 7;
- int playerY = 7;
- boolean isCloudActive = false;
- String spell = "";
- String spellData = scanner.nextLine();
- while (true) {
- if (playerHP > 0) {
- bossHP -= playerDmg;
- if (bossHP < 0) {
- playerWon = true;
- }
- }
- if (isCloudActive) {
- playerHP -= 3500;
- if (playerHP <= 0) {
- playerLost = true;
- }
- isCloudActive = false;
- }
- if (playerWon || playerLost) {
- break;
- }
- spell = spellData.split(" ")[0];
- int spellX = Integer.parseInt(spellData.split(" ")[1]);
- int spellY = Integer.parseInt(spellData.split(" ")[2]);
- if (playerIsInSpellRange(spellX, spellY, playerX, playerY)) {
- if (!playerIsInSpellRange(spellX, spellY, playerX - 1, playerY) && playerIsInChamber(playerX - 1, playerY, chamber)) {
- playerX--;
- } else if (!playerIsInSpellRange(spellX, spellY, playerX, playerY + 1) && playerIsInChamber(playerX, playerY + 1, chamber)) {
- playerY++;
- } else if (!playerIsInSpellRange(spellX, spellY, playerX + 1, playerY) && playerIsInChamber(playerX + 1, playerY, chamber)) {
- playerX++;
- } else if (!playerIsInSpellRange(spellX, spellY, playerX, playerY - 1) && playerIsInChamber(playerX, playerY - 1, chamber)) {
- playerY--;
- } else {
- if (spell.equals("Cloud")) {
- playerHP -= 3500;
- isCloudActive = true;
- } else if (spell.equals("Eruption")) {
- playerHP -= 6000;
- }
- if (playerHP <= 0) {
- playerLost = true;
- break;
- }
- }
- }
- spellData = scanner.nextLine();
- }
- if (playerWon) {
- System.out.println("Heigan: Defeated!");
- if(playerHP <= 0){
- spell = "Plague Cloud";
- System.out.printf("Player: Killed by %s\n", spell);
- }else {
- System.out.printf("Player: %.0f\n", playerHP);
- }
- } else {
- System.out.printf("Heigan: %.2f\n", bossHP);
- if (spell.equals("Cloud")) {
- spell = "Plague Cloud";
- }
- System.out.printf("Player: Killed by %s\n", spell);
- }
- System.out.printf("Final position: %d, %d\n", playerX, playerY);
- }
- private static boolean playerIsInSpellRange(int spellRangeX, int spellRangeY, int playerPosX, int playerPosY) {
- return (spellRangeX - 1 <= playerPosX && spellRangeX + 1 >= playerPosX) && (spellRangeY - 1 <= playerPosY && spellRangeY + 1 >= playerPosY);
- }
- private static boolean playerIsInChamber(int playerPosX, int playerPosY, String[][] chamber) {
- return playerPosX >= 0 && playerPosX < chamber.length && playerPosY >= 0 && playerPosY < chamber.length;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment