Advertisement
Tsuki11

WizardPoker

Feb 22nd, 2020
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.55 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Collections;
  3. import java.util.List;
  4. import java.util.Scanner;
  5.  
  6. public class WizardPoker {
  7.     public static void main(String[] args) {
  8.         Scanner scan = new Scanner(System.in);
  9.  
  10.         List<String> wizardCards = getCards(scan);
  11.         List<String> changedDeck = new ArrayList<>();
  12.  
  13.         String deckInChanging = scan.nextLine();
  14.         while (!"Ready".equals(deckInChanging)){
  15.             String[] tokens = deckInChanging.split("\\s+");
  16.             String command = tokens[0];
  17.             String cardName = tokens[1];
  18.             switch (command){
  19.                 case"Add":
  20.                     if(wizardCards.contains(cardName)){
  21.                         changedDeck.add(cardName);
  22.                     }else{
  23.                         System.out.println("Card not found.");
  24.                     }
  25.                     break;
  26.                 case"Insert":
  27.                     int index = Integer.parseInt(tokens[2]);
  28.                     if ((index >= 0 && index < changedDeck.size()) && wizardCards.contains(cardName)){
  29.                             changedDeck.add(index,cardName);
  30.                     }else{
  31.                         System.out.println("Error!");
  32.                     }
  33.                     break;
  34.                 case"Remove":
  35.                     if (changedDeck.contains(cardName)){
  36.                         changedDeck.remove(cardName);
  37.                     }else{
  38.                         System.out.println("Card not found.");
  39.                     }
  40.                     break;
  41.                 case"Swap":
  42.                     String secondCard = tokens[2];
  43.                     String temp = cardName;
  44.                     int indexOfFirstCard = changedDeck.indexOf(cardName);
  45.                     int indexSecond = changedDeck.indexOf(secondCard);
  46.                     changedDeck.set(indexOfFirstCard,secondCard);
  47.                     changedDeck.set(indexSecond,temp);
  48.                     break;
  49.                 case "Shuffle":
  50.                     Collections.reverse(changedDeck);
  51.                     break;
  52.  
  53.             }
  54.             deckInChanging=scan.nextLine();
  55.         }
  56.  
  57.         for (String currElement : changedDeck) {
  58.             System.out.print(currElement + " ");
  59.         }
  60.     }
  61.  
  62.     private static List<String> getCards(Scanner scan) {
  63.         String[] input = scan.nextLine().split(":+");
  64.         List<String> arrayList = new ArrayList<>();
  65.         for (String currElement : input) {
  66.             arrayList.add(currElement);
  67.         }
  68.         return arrayList;
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement