Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(input) {
- let itemsArray = input.shift().split('|');
- let stolenItems = [];
- for (i = 0; i < input.length; i++) {
- let currentCommandArray = input[i].split(' ');
- let command = currentCommandArray.shift();
- if (command === 'Loot') {
- for (let j = 0; j < currentCommandArray.length; j++){
- let current = currentCommandArray[j];
- if (itemsArray.includes(current)) {
- }
- else {
- itemsArray.unshift(current);
- }
- }
- } else if (command === 'Drop'){
- let removeIndex = Number(currentCommandArray.shift());
- if ( removeIndex < 0 || removeIndex >= itemsArray.length){
- } else {
- let addAtTheEnd = itemsArray[removeIndex];
- delete itemsArray[removeIndex];
- itemsArray.push(addAtTheEnd);
- itemsArray = itemsArray.filter(function (el) {
- return el != null;
- });
- }
- } else if (command === 'Steal'){
- let stealAmount = Number(currentCommandArray.shift());
- if (stealAmount > itemsArray.length){
- stolenItems.push(itemsArray.slice());
- itemsArray = [];
- } else if (stealAmount === itemsArray.length){
- let sl = itemsArray.length - stealAmount;
- stolenItems.push(itemsArray.slice(sl,itemsArray.length));
- itemsArray = [];
- }
- else {
- let sl = itemsArray.length - stealAmount;
- stolenItems.push(itemsArray.slice(sl,itemsArray.length));
- itemsArray = itemsArray.slice(0,stealAmount + 2);
- }
- console.log(stolenItems[0].join(', '));
- } else if (command === 'Yohoho!'){
- break;
- }
- }
- if (itemsArray[0] !== undefined) {
- var sum = 0;
- for (let index = 0; index < itemsArray.length; index++) {
- let item = itemsArray[index];
- let length = item.length;
- sum += length;
- }
- let average = sum / itemsArray.length;
- console.log(`Average treasure gain: ${average.toFixed(2)} pirate credits.`);
- } else {
- console.log('Failed treasure hunt.');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement