Advertisement
vladovip

Treasure Hunt JS FUND MIDEX

Aug 19th, 2022
726
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function treasureHunt(inputArr) {
  2.   let treasureChestsStr = inputArr.shift();
  3.   let treasureChestArr = treasureChestsStr.split("|");
  4.  
  5.   let commandLineInfo = inputArr.shift();
  6.   while (commandLineInfo !== "Yohoho!") {
  7.     let tokens = commandLineInfo.split(" ");
  8.     let [command, ...arrElemens] = tokens;
  9.  
  10.     if (command == "Loot") {
  11.       // "Loot Wood Gold Coins",
  12.       for (let el of arrElemens) {
  13.         if (treasureChestArr.includes(el) == false) {
  14.           treasureChestArr.unshift(el);
  15.         }
  16.       }
  17.     } else if (command == "Drop") {
  18.       // "Drop 3",
  19.       let indexofItem = Number(arrElemens.shift());
  20.       if (indexofItem >= 0 && indexofItem < treasureChestArr.length) {
  21.         let removedItem = treasureChestArr.splice(indexofItem, 1);
  22.         treasureChestArr.push(removedItem.shift());
  23.       } else if ( indexofItem < 0 ){
  24.        
  25.       }
  26.     } else if (command == "Steal") {
  27.       // "Steal 3",
  28.       // "Steal 6",
  29.       let counterStolenItems = Number(arrElemens.shift());
  30.       if ( counterStolenItems >=1 && counterStolenItems <= 100 ){
  31.         let startIndex = treasureChestArr.length - counterStolenItems;
  32.         let stolenItemsArr = treasureChestArr.splice(startIndex,counterStolenItems);
  33.         console.log(stolenItemsArr.join(", "));
  34.       }
  35.     }
  36.  
  37.     commandLineInfo = inputArr.shift();
  38.   }
  39.  
  40.    //   console.log(treasureChestArr);
  41.   // [ 'Pistol', 'Coins', 'Wood', 'Silver', 'Bronze' ]
  42.  
  43.   if ( treasureChestArr.length <= 0){
  44.     console.log ("Failed treasure hunt.");
  45.   }
  46.  
  47.    if ( treasureChestArr.length > 0) {
  48.    let sumofAllTreasure = 0;
  49.    for ( let el of treasureChestArr ){
  50.     sumofAllTreasure += Number(el.length);
  51.    }
  52.    let countOfAllItems = Number(treasureChestArr.length);
  53.    let averageTreasureGain = Number(sumofAllTreasure / countOfAllItems);
  54.    console.log(`Average treasure gain: ${averageTreasureGain.toFixed(2)} pirate credits.`)
  55.   }
  56.  
  57. }
  58.  
  59. treasureHunt([
  60.   "Gold|Silver|Bronze|Medallion|Cup",
  61.   "Loot Wood Gold Coins",
  62.   "Loot Silver Pistol",
  63.   "Drop 3",
  64.   "Steal 3",
  65.   "Yohoho!",
  66. ]);
  67.  
  68. console.log(`*******`);
  69.  
  70. treasureHunt([
  71.   "Diamonds|Silver|Shotgun|Gold",
  72.   "Loot Silver Medals Coal",
  73.   "Drop -1",
  74.   "Drop 1",
  75.   "Steal 6",
  76.   "Yohoho!",
  77. ]);
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement