kstoyanov

01. Warrior's Quest js exam

Aug 11th, 2020
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(args) {
  2.   let skillDeciphered = args.shift();
  3.   const commandList = ['GladiatorStance', 'DefensiveStance', 'Dispel', 'Target'];
  4.  
  5.  
  6.   let commandLine = args.shift();
  7.   while (commandLine !== 'For Azeroth') {
  8.     const [command, index, char] = commandLine.split(' ');
  9.  
  10.     if (commandList.includes(command)) {
  11.       switch (command) {
  12.         case 'GladiatorStance':
  13.           skillDeciphered = skillDeciphered.toUpperCase();
  14.           console.log(skillDeciphered);
  15.           break;
  16.         case 'DefensiveStance':
  17.           skillDeciphered = skillDeciphered.toLowerCase();
  18.           console.log(skillDeciphered);
  19.           break;
  20.         case 'Dispel':
  21.           const indexForChange = Number(index);
  22.           if (skillDeciphered[indexForChange]) {
  23.             skillDeciphered = skillDeciphered.split('');
  24.             skillDeciphered.splice(Number(index), 1, char);
  25.             skillDeciphered = skillDeciphered.join('');
  26.             console.log('Success!');
  27.           } else {
  28.             console.log('Dispel too weak.');
  29.           }
  30.  
  31.           break;
  32.         case 'Target':
  33.           const [, commandInfo, strArg, strArg2] = commandLine.split(' ');
  34.  
  35.           if (commandInfo === 'Change') {
  36.             while (skillDeciphered.includes(strArg)) {
  37.               skillDeciphered = skillDeciphered.replace(strArg, strArg2);
  38.             }
  39.  
  40.             console.log(skillDeciphered);
  41.           } else if (commandInfo === 'Remove') {
  42.             while (skillDeciphered.includes(strArg)) {
  43.               skillDeciphered = skillDeciphered.replace(strArg, '');
  44.             }
  45.             console.log(skillDeciphered);
  46.           } else {
  47.             console.log("Command doesn't exist!");
  48.           }
  49.           break;
  50.         default:
  51.           break;
  52.       }
  53.     } else {
  54.       console.log("Command doesn't exist!");
  55.     }
  56.  
  57.     commandLine = args.shift();
  58.   }
  59. }
Add Comment
Please, Sign In to add comment