Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2020
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function wizardPoker(input) {
  2.  
  3.     let cardsAvailable = input.shift().split(':');
  4.     let outputArr = [];
  5.  
  6.     for (let i = 0; i < input.length; i++) {
  7.        
  8.         let commandLine = input[i].split(' ');
  9.         let command = commandLine[0];
  10.         let card = commandLine[1];
  11.        
  12.         if (command === 'Ready') break;
  13.         else if (command === 'Add') addToDeck(cardsAvailable, outputArr);
  14.         else if (command === 'Insert') insertToDeck(cardsAvailable, outputArr);
  15.         else if (command === 'Remove') removeFromDeck(outputArr);
  16.         else if (command === 'Swap') swapTwoCards(outputArr);
  17.         else if (command === 'Shuffle') outputArr.reverse();
  18.  
  19.         function addToDeck(cardsAvailable, outputArr) {
  20.             if (!cardsAvailable.includes(card)) {
  21.                 console.log('Card not found.');
  22.             } else {
  23.                 return outputArr.push(card);
  24.             }
  25.         }
  26.  
  27.         function insertToDeck(cardsAvailable, outputArr) {
  28.             let index = Number(commandLine[2]);
  29.             if (!cardsAvailable.includes(card) || index < 0 || index > cardsAvailable.length) {
  30.                 console.log('Error!');
  31.             } else {
  32.                 return outputArr.splice(index, 0, card)
  33.             }
  34.         }
  35.  
  36.         function removeFromDeck(outputArr) {
  37.             if (!cardsAvailable.includes(card) || !outputArr.includes(card)) {
  38.                 console.log('Card not found.');
  39.             } else {
  40.                 return outputArr.splice(outputArr.indexOf(card), 1);
  41.             }
  42.         }
  43.  
  44.         function swapTwoCards(outputArr) {
  45.             let secondCard = commandLine[2];
  46.             let first = outputArr.indexOf(card);
  47.             let second = outputArr.indexOf(secondCard);
  48.             outputArr[first] = secondCard;
  49.             outputArr[second] = card;
  50.             return outputArr;
  51.         }
  52.     }
  53.     console.log(outputArr.join(' '));
  54. }
  55.  
  56. wizardPoker([
  57.     'Innervate:Moonfire:Pounce:Claw:Wrath:Bite',
  58.     'Add Moonfire',
  59.     'Add Pounce',
  60.     'Add Bite',
  61.     'Add Wrath',
  62.     'Insert Claw 0',
  63.     'Swap Claw Moonfire',
  64.     'Remove Bite',
  65.     'Shuffle deck',
  66.     'Ready'
  67. ]);
  68.  
  69. wizardPoker([
  70.     'Wrath:Pounce:Lifeweaver:Exodia:Aso:Pop',
  71.     'Add Pop',
  72.     'Add Exodia',
  73.     'Add Aso',
  74.     'Remove Wrath',
  75.     'Add SineokBqlDrakon',
  76.     'Shuffle deck',
  77.     'Insert Pesho 0',
  78.     'Ready'
  79.   ]);
  80.  
  81. wizardPoker([
  82.     'Wrath:Pounce:Lifeweaver:Exodia:Aso:Pop',
  83.     'Remove Pounce',
  84.     'Add Pounce',
  85.     'Remove Pounce',
  86.     'Add Wrath',
  87.     'Ready'
  88.   ]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement