Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(input) {
- let field = input.shift().split('|').map(Number);
- let points = 0;
- for (let i = 0; i < input.length; i++) {
- let splitted = input[i].split('@');
- let command = splitted[0];
- let commandIndex = Number(splitted[1]);
- let length = Number(splitted[2]);
- switch (command) {
- case 'Shoot Left':
- if (commandIndex >= 0 && commandIndex <= field.length - 1) {
- let fieldIndex = (commandIndex - length) % field.length;
- if (fieldIndex < 0) {
- fieldIndex = field.length + fieldIndex;
- }
- if (field[fieldIndex] >= 5) {
- points += 5;
- field[fieldIndex] -= 5;
- } else {
- points += field[fieldIndex];
- field[fieldIndex] = 0;
- }
- }
- break;
- case 'Shoot Right':
- if (commandIndex >= 0 && commandIndex <= field.length - 1) {
- let fieldIndex = (commandIndex + length) % field.length;
- if (field[fieldIndex] >= 5) {
- points += 5;
- field[fieldIndex] -= 5;
- } else {
- points += field[fieldIndex];
- field[fieldIndex] = 0;
- }
- }
- break;
- case 'Reverse':
- let reversed = field.reverse();
- field === reversed;
- break;
- case 'Game over':
- console.log(field.join(' - '));
- console.log(`Iskren finished the archery tournament with ${points} points!`);
- return;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement