Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function calculateTreasureHunt(inputArr){
- const lootedItems = inputArr.shift().split("|");
- let totalPirateCredits = 0;
- for (let i = 0; i < inputArr.length; i++) {
- let isHuntOver = false;
- const nextInput = inputArr[i].split(" ");
- let nextAction = nextInput.shift();
- switch (nextAction) {
- case "Loot":
- nextInput.forEach(element => {
- if (!lootedItems.includes(element)){
- lootedItems.unshift(element);
- }
- })
- break;
- case "Drop":
- let dropIndex = Number(nextInput.shift());
- if (dropIndex <= lootedItems.length){
- let droppedItem = lootedItems.splice(dropIndex, 1).toString();
- lootedItems.push(droppedItem);
- }
- break;
- case "Steal":
- let numberStolenItems = Number(nextInput.shift());
- if (numberStolenItems > lootedItems.length){
- numberStolenItems = lootedItems.length;
- }
- const stolenItems = lootedItems.slice(lootedItems.length - numberStolenItems);
- console.log(stolenItems.join(", "));
- lootedItems.splice(lootedItems.length - numberStolenItems, numberStolenItems);
- break;
- case "Yohoho!":
- isHuntOver = true;
- break;
- }
- if (isHuntOver) {
- break;
- }
- }
- lootedItems.forEach(element => {
- totalPirateCredits += element.length / lootedItems.length;
- })
- if (totalPirateCredits > 0) {
- console.log(`Average treasure gain: ${totalPirateCredits.toFixed(2)} pirate credits.`);
- }
- else {
- console.log("Failed treasure hunt.")
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement