Advertisement
AntonGanev

midExamFundamentalsTask2

Jun 21st, 2024
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.90 KB | None | 0 0
  1. package MidExam;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5.  
  6. public class SecondTask_02 {
  7.     public static void main(String[] args) {
  8.         Scanner scanner = new Scanner(System.in);
  9.  
  10.         String space = scanner.nextLine();
  11.         String[] travelRoute = space.split("\\|\\|");
  12.  
  13.         int startingFuel = Integer.parseInt(scanner.nextLine());
  14.         int startingAmmunition = Integer.parseInt(scanner.nextLine());
  15.         boolean missionFailed = false;
  16.         boolean titan = false;
  17.  
  18.         for (int i = 0; i < travelRoute.length; i++) {
  19.             String input = travelRoute[i];
  20.             String[] commandParts = input.split("\\s+");
  21.             String command = commandParts[0];
  22.  
  23.             switch (command) {
  24.                 case "Travel":
  25.                     int lightYears = Integer.parseInt(commandParts[1]);
  26.                     startingFuel = startingFuel - lightYears;
  27.                     if (startingFuel >= 0) {
  28.                         System.out.printf("The spaceship travelled %d light-years.%n", lightYears);
  29.                     } else {
  30.                         missionFailed = true;
  31.                     }
  32.                     break;
  33.                 case "Enemy":
  34.                     int enemyHealth = Integer.parseInt(commandParts[1]);
  35.                     if (startingAmmunition >= enemyHealth) {
  36.                         startingAmmunition = startingAmmunition - enemyHealth;
  37.                         System.out.printf("An enemy with %d armour is defeated.%n", enemyHealth);
  38.                     } else {
  39.                         if (startingFuel > enemyHealth * 2) {
  40.                             startingFuel = startingFuel - (enemyHealth * 2);
  41.                             System.out.printf("An enemy with %d armour is outmaneuvered.%n", enemyHealth);
  42.                         } else {
  43.                             missionFailed = true;
  44.                         }
  45.                     }
  46.                     break;
  47.                 case "Repair":
  48.                     int addedFuel = Integer.parseInt(commandParts[1]);
  49.                     int addedAmmunition = addedFuel * 2;
  50.                     startingFuel = startingFuel + addedFuel;
  51.                     startingAmmunition = startingAmmunition + addedAmmunition;
  52.                     System.out.printf("Ammunitions added: %d.%n", addedAmmunition);
  53.                     System.out.printf("Fuel added: %d.%n", addedFuel);
  54.                     break;
  55.                 case "Titan":
  56.                     titan = true;
  57.                     break;
  58.             }
  59.             if (missionFailed){
  60.                 break;
  61.             }
  62.             if (titan){
  63.                 break;
  64.             }
  65.         }
  66.         if (titan && !missionFailed) {
  67.             System.out.println("You have reached Titan, all passengers are safe.");
  68.         }
  69.         if (missionFailed) {
  70.             System.out.println("Mission failed.");
  71.         }
  72.     }
  73. }
  74.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement