Advertisement
CR7CR7

targetArcheryPoints

Dec 10th, 2022
1,137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.19 KB | None | 0 0
  1. import java.util.*;
  2. import java.util.stream.Collectors;
  3.  
  4.  
  5. public class ArcheryPoints {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.         List<Integer> archery = Arrays.stream(scanner.nextLine().split("\\|")).map(Integer::parseInt).collect(Collectors.toList());
  9.         String input = scanner.nextLine();
  10.         int hitPoints = 0;
  11.         while (!input.equals("Game over")) {
  12.             String inputLine[] = input.split("@");
  13.             String command = inputLine[0];
  14.  
  15.             switch (command) {
  16.                 case "Shoot Left":
  17.                     int startIndex = Integer.parseInt(inputLine[1]);
  18.                     int endIndex = (startIndex + archery.size()) - Integer.parseInt(inputLine[2]);
  19.                     if (startIndex >=0 && startIndex<=archery.size()) {
  20.                         int currentIndex = archery.get(endIndex);
  21.                         currentIndex -= 5;
  22.                         archery.set(endIndex, currentIndex);
  23.                         hitPoints += 5;
  24.                     }
  25.                     break;
  26.                 case "Shoot Right":
  27.                     int startIn = Integer.parseInt(inputLine[1]);
  28.                     int end = (startIn + archery.size()) - Integer.parseInt(inputLine[2]);
  29.                     if (archery.size() < startIn || archery.size() < end){
  30.                         break;
  31.                     }
  32.                     int currentInd = archery.get(end);
  33.                     currentInd -= 5;
  34.                     archery.set(end, currentInd);
  35.                     hitPoints += 5;
  36.  
  37.  
  38.  
  39.                     break;
  40.                 case "Reverse":
  41.                     Collections.reverse(archery);
  42.  
  43.                     break;
  44.             }
  45.  
  46.             input = scanner.nextLine();
  47.         }
  48.  
  49.         for (int i = 0; i <archery.size() ; i++) {
  50.             int currentNum =archery.get(i);
  51.             if (i == archery.size()-1){
  52.                 System.out.println(currentNum);
  53.             }else {
  54.                 System.out.print(currentNum+" - ");
  55.             }
  56.         }
  57.         System.out.printf("John finished the archery tournament with %d points!", hitPoints);
  58.  
  59.  
  60.  
  61.     }
  62.  
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement