Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function wizardPoker(input) {
- let cardsAvailable = input.shift().split(':');
- let outputArr = [];
- for (let i = 0; i < input.length; i++) {
- let commandLine = input[i].split(' ');
- let command = commandLine[0];
- let card = commandLine[1];
- if (command === 'Ready') break;
- else if (command === 'Add') addToDeck(cardsAvailable, outputArr);
- else if (command === 'Insert') insertToDeck(cardsAvailable, outputArr);
- else if (command === 'Remove') removeFromDeck(outputArr);
- else if (command === 'Swap') swapTwoCards(outputArr);
- else if (command === 'Shuffle') outputArr.reverse();
- function addToDeck(cardsAvailable, outputArr) {
- if (!cardsAvailable.includes(card)) {
- console.log('Card not found.');
- } else {
- return outputArr.push(card);
- }
- }
- function insertToDeck(cardsAvailable, outputArr) {
- let index = Number(commandLine[2]);
- if (!cardsAvailable.includes(card) || index < 0 || index > cardsAvailable.length) {
- console.log('Error!');
- } else {
- return outputArr.splice(index, 0, card)
- }
- }
- function removeFromDeck(outputArr) {
- if (!cardsAvailable.includes(card) || !outputArr.includes(card)) {
- console.log('Card not found.');
- } else {
- return outputArr.splice(outputArr.indexOf(card), 1);
- }
- }
- function swapTwoCards(outputArr) {
- let secondCard = commandLine[2];
- let first = outputArr.indexOf(card);
- let second = outputArr.indexOf(secondCard);
- outputArr[first] = secondCard;
- outputArr[second] = card;
- return outputArr;
- }
- }
- console.log(outputArr.join(' '));
- }
- wizardPoker([
- 'Innervate:Moonfire:Pounce:Claw:Wrath:Bite',
- 'Add Moonfire',
- 'Add Pounce',
- 'Add Bite',
- 'Add Wrath',
- 'Insert Claw 0',
- 'Swap Claw Moonfire',
- 'Remove Bite',
- 'Shuffle deck',
- 'Ready'
- ]);
- wizardPoker([
- 'Wrath:Pounce:Lifeweaver:Exodia:Aso:Pop',
- 'Add Pop',
- 'Add Exodia',
- 'Add Aso',
- 'Remove Wrath',
- 'Add SineokBqlDrakon',
- 'Shuffle deck',
- 'Insert Pesho 0',
- 'Ready'
- ]);
- wizardPoker([
- 'Wrath:Pounce:Lifeweaver:Exodia:Aso:Pop',
- 'Remove Pounce',
- 'Add Pounce',
- 'Remove Pounce',
- 'Add Wrath',
- 'Ready'
- ]);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement