Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function battleManager(arr = []) {
  2.     const players = new Map();
  3.  
  4.     for (let line of arr) {
  5.         if (line === 'Results') {
  6.             break;
  7.         } else if (line.includes('Add')) {
  8.             let [,player,health,energy] = line.split(':');
  9.             health = Number(health);
  10.             energy = Number(energy);
  11.             let skills = {
  12.                 'health': 0,
  13.                 'energy': 0
  14.             };
  15.  
  16.             if (!players.has(player)) {
  17.                 players.set(player, skills);
  18.             }
  19.  
  20.             players.get(player).health += health;
  21.             players.get(player).energy += energy;
  22.         } else if (line.includes('Attack')) {
  23.             let [,player,defenderPlayer,damage] = line.split(':');
  24.  
  25.             if (players.has(player) && players.has(defenderPlayer)) {
  26.                 players.get(defenderPlayer).health -= Number(damage);
  27.  
  28.                 if (players.get(defenderPlayer).health <= 0) {
  29.                     players.delete(defenderPlayer);
  30.                     console.log(`${defenderPlayer} was disqualified!`);
  31.                 }
  32.                 players.get(player).energy--;
  33.  
  34.                 if (players.get(player).energy <= 0) {
  35.                     players.delete(player);
  36.                     console.log(`${player} was disqualified!`);
  37.                 }
  38.             }
  39.         } else if (line.includes('Delete')) {
  40.             let [, player] = line.split(":");
  41.  
  42.             if (players.has(player)) {
  43.                 players.delete(player);
  44.             }
  45.  
  46.             if (player === "All") {
  47.                 players.clear();
  48.             }
  49.         }
  50.     }
  51.    
  52.     console.log(`People count: ${players.size}`);
  53.  
  54.     let sortedPlayers = Array.from(players.keys())
  55.         .sort((a,b) => players.get(b).health - players.get(a).health || a.localeCompare(b));
  56.  
  57.     sortedPlayers.forEach(player => {
  58.         console.log(`${player} - ${players.get(player).health} - ${players.get(player).energy}`);
  59.     });
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement