nikolayneykov

Untitled

Mar 1st, 2019
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function printDungeon(params) {
  2.     let player = {
  3.         health: 100,
  4.         coins: 0,
  5.         commandProcessor(content, value, room) {
  6.             switch (content) {
  7.                 case 'potion':
  8.                     let healthGain = Math.min(value, 100 - this.health);
  9.                     this.health += healthGain;
  10.                     this.printMessage(`You healed for ${healthGain} hp.\nCurrent health: ${this.health} hp.`);
  11.                     break;
  12.                 case 'chest':
  13.                     this.coins += value;
  14.                     this.printMessage(`You found ${value} coins.`);
  15.                     break;
  16.                 default:
  17.                     let monsterName = content;
  18.                     let monsterDamage = value;
  19.                     this.health -= monsterDamage;
  20.                     if (this.health <= 0) {
  21.                         this.printMessage(`You died! Killed by ${monsterName}.\nBest room: ${room}`);
  22.                     } else {
  23.                         this.printMessage(`You slayed ${monsterName}.`);
  24.                     }
  25.                     break;
  26.             }
  27.         },
  28.         printMessage(message) {
  29.             console.log(message);
  30.         }
  31.     };
  32.  
  33.     let rooms = params[0].split('|');
  34.  
  35.     for (let i = 0; i < rooms.length && player.health > 0; i++) {
  36.         let room = rooms[i].split(' ');
  37.         let roomContent = room[0];
  38.         let roomValue = Number(room[1]);
  39.         player.commandProcessor(roomContent, roomValue, i + 1);
  40.     }
  41.  
  42.     if (player.health > 0) {
  43.         player.printMessage(`You've made it!\nCoins: ${player.coins}\nHealth: ${player.health}`);
  44.    }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment