SHARE
TWEET

Untitled

a guest Oct 22nd, 2019 87 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package JavaAdvancedExam16April2019.ex1;
  2.  
  3. import java.util.Scanner;
  4.  
  5. public class matrixMainex2 {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.  
  9.         int energy = Integer.parseInt(scanner.nextLine());
  10.         int matrixSize = Integer.parseInt(scanner.nextLine());
  11.         int parisRow = 0;
  12.         int parisCol = 0;
  13.  
  14.  
  15.         char[][] matrix = new char[matrixSize][];
  16.  
  17.         for (int i = 0; i < matrix.length; i++) {
  18.             matrix[i] = scanner.nextLine().toCharArray();
  19.             for (int j = 0; j < matrix[i].length; j++) {
  20.                 if (matrix[i][j] == 'P') {
  21.                     parisRow = i;
  22.                     parisCol = j;
  23.                 }
  24.             }
  25.         }
  26.         boolean findHelen = true;
  27.         matrix[parisRow][parisCol] = '-';
  28.         while (energy > 0 && findHelen) {
  29.             String input = scanner.nextLine();
  30.             String[] tokens = input.split(" ");
  31.             String direction = tokens[0];
  32.             int spawnRow = Integer.parseInt(tokens[1]);
  33.             int spawnCol = Integer.parseInt(tokens[2]);
  34.  
  35.             matrix[spawnRow][spawnCol] = 'S';
  36.  
  37.             switch (direction) {
  38.                 case "up":
  39.                     if (checkRangeUp(parisRow, matrix)) {
  40.                         parisRow -= 1;
  41.                         energy -= 1;
  42.  
  43.                         if (energy <= 0) {
  44.                             matrix[parisRow][parisCol] = 'X';
  45.                             System.out.printf("Paris died at %d;%d.%n", parisRow, parisCol);
  46.                             findHelen = false;
  47.                         } else if (matrix[parisRow][parisCol] == 'H') {
  48.                             System.out.print("Paris has successfully abducted Helen! ");
  49.                             System.out.printf("Energy left: %d%n", energy);
  50.                             matrix[parisRow][parisCol] = '-';
  51.                             findHelen = false;
  52.                         } else if (matrix[parisRow][parisCol] == 'S') {
  53.                             energy -= 2;
  54.                             if (energy <= 0) {
  55.                                 matrix[parisRow][parisCol] = 'X';
  56.                                 System.out.printf("Paris died at %d;%d.%n", parisRow, parisCol);
  57.                                 findHelen = false;
  58.                             } else {
  59.                                 matrix[parisRow][parisCol] = '-';
  60.                             }
  61.                         }
  62.                     } else {
  63.                         energy -= 1;
  64.                         if (energy <= 0) {
  65.                             matrix[parisRow][parisCol] = 'X';
  66.                             System.out.printf("Paris died at %d;%d.%n", parisRow, parisCol);
  67.                             findHelen = false;
  68.                         }
  69.                     }
  70.  
  71.                     break;
  72.                 case "down":
  73.                     if (checkRangeDown(parisRow, matrix)) {
  74.                         parisRow += 1;
  75.                         energy -= 1;
  76.                         if (energy <= 0) {
  77.                             matrix[parisRow][parisCol] = 'X';
  78.                             System.out.printf("Paris died at %d;%d.%n", parisRow, parisCol);
  79.                             findHelen = false;
  80.                         } else if (matrix[parisRow][parisCol] == 'H') {
  81.                             System.out.print("Paris has successfully abducted Helen! ");
  82.                             System.out.printf("Energy left: %d%n", energy);
  83.                             matrix[parisRow][parisCol] = '-';
  84.                             findHelen = false;
  85.                         } else if (matrix[parisRow][parisCol] == 'S') {
  86.                             energy -= 2;
  87.                             if (energy <= 0) {
  88.                                 matrix[parisRow][parisCol] = 'X';
  89.                                 System.out.printf("Paris died at %d;%d.%n", parisRow, parisCol);
  90.                                 findHelen = false;
  91.                             } else {
  92.                                 matrix[parisRow][parisCol] = '-';
  93.                             }
  94.                         }
  95.                     } else {
  96.                         energy -= 1;
  97.                         if (energy <= 0) {
  98.                             matrix[parisRow][parisCol] = 'X';
  99.                             System.out.printf("Paris died at %d;%d.%n", parisRow, parisCol);
  100.                             findHelen = false;
  101.                         }
  102.                     }
  103.  
  104.                     break;
  105.                 case "right":
  106.                     if (checkRangeRight(parisCol, matrix)) {
  107.                         parisCol += 1;
  108.                         energy -= 1;
  109.                         if (energy <= 0) {
  110.                             matrix[parisRow][parisCol] = 'X';
  111.                             System.out.printf("Paris died at %d;%d.%n", parisRow, parisCol);
  112.                             findHelen = false;
  113.                         } else if (matrix[parisRow][parisCol] == 'H') {
  114.                             System.out.print("Paris has successfully abducted Helen! ");
  115.                             System.out.printf("Energy left: %d%n", energy);
  116.                             matrix[parisRow][parisCol] = '-';
  117.                             findHelen = false;
  118.                         } else if (matrix[parisRow][parisCol] == 'S') {
  119.                             energy -= 2;
  120.                             if (energy <= 0) {
  121.                                 matrix[parisRow][parisCol] = 'X';
  122.                                 System.out.printf("Paris died at %d;%d.%n", parisRow, parisCol);
  123.                                 findHelen = false;
  124.                             } else {
  125.                                 matrix[parisRow][parisCol] = '-';
  126.                             }
  127.                         }
  128.                     } else {
  129.                         energy -= 1;
  130.                         if (energy <= 0) {
  131.                             matrix[parisRow][parisCol] = 'X';
  132.                             System.out.printf("Paris died at %d;%d.%n", parisRow, parisCol);
  133.                             findHelen = false;
  134.                         }
  135.                     }
  136.  
  137.                     break;
  138.                 case "left":
  139.                     if (checkRangeLeft(parisCol, matrix)) {
  140.                         parisCol -= 1;
  141.                         energy -= 1;
  142.                         if (energy <= 0) {
  143.                             matrix[parisRow][parisCol] = 'X';
  144.                             System.out.printf("Paris died at %d;%d.%n", parisRow, parisCol);
  145.                             findHelen = false;
  146.                         } else if (matrix[parisRow][parisCol] == 'H') {
  147.                             System.out.print("Paris has successfully abducted Helen! ");
  148.                             System.out.printf("Energy left: %d%n", energy);
  149.                             matrix[parisRow][parisCol] = '-';
  150.                             findHelen = false;
  151.                         } else if (matrix[parisRow][parisCol] == 'S') {
  152.                             energy -= 2;
  153.                             if (energy <= 0) {
  154.                                 matrix[parisRow][parisCol] = 'X';
  155.                                 System.out.printf("Paris died at %d;%d.%n", parisRow, parisCol);
  156.                                 findHelen = false;
  157.                             } else {
  158.                                 matrix[parisRow][parisCol] = '-';
  159.                             }
  160.                         }
  161.                     } else {
  162.                         energy -= 1;
  163.                         if (energy <= 0) {
  164.                             matrix[parisRow][parisCol] = 'X';
  165.                             System.out.printf("Paris died at %d;%d.%n", parisRow, parisCol);
  166.                             findHelen = false;
  167.                         }
  168.                     }
  169.  
  170.                     break;
  171.             }
  172.         }
  173.         for (int i = 0; i < matrix.length; i++) {
  174.             for (int j = 0; j < matrix[i].length; j++) {
  175.                 System.out.print(matrix[i][j]);
  176.             }
  177.             System.out.println();
  178.         }
  179.     }
  180.  
  181.  
  182.     private static boolean checkRangeUp(int parisRow, char[][] matirx) {
  183.         parisRow--;
  184.         return parisRow >= 0 && parisRow < matirx.length;
  185.     }
  186.  
  187.     private static boolean checkRangeDown(int parisRow, char[][] matirx) {
  188.         parisRow++;
  189.         return parisRow >= 0 && parisRow < matirx.length;
  190.     }
  191.  
  192.     private static boolean checkRangeRight(int parisCol, char[][] matirx) {
  193.         parisCol++;
  194.         return parisCol >= 0 && parisCol < matirx.length;
  195.     }
  196.  
  197.     private static boolean checkRangeLeft(int parisCol, char[][] matirx) {
  198.         parisCol--;
  199.         return parisCol >= 0 && parisCol < matirx.length;
  200.     }
  201. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top