Advertisement
divanov94

Untitled

Aug 5th, 2020
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function battleManager(input){
  2.     let obj={};
  3.     for(let line of input){
  4.         if(line==="Results"){
  5.             break;
  6.         }
  7.         let [command,name,valueOne,valueTwo]=line.split(":");
  8.         switch(command){
  9.             case "Add":
  10.                 let health=Number(valueOne);
  11.                 let energy=Number(valueTwo);
  12.                 if(!obj.hasOwnProperty(name)){
  13.                     obj[name]={
  14.                         health,
  15.                         energy
  16.  
  17.  
  18.                     }
  19.                 }else {
  20.                     obj[name].health+=health
  21.                 }
  22.                 break;
  23.             case "Attack":
  24.                 let attacker=name;
  25.                 let defender=valueOne;
  26.                 let damage=Number(valueTwo);
  27.                 if(obj.hasOwnProperty(attacker) && obj.hasOwnProperty(defender)){
  28.                     obj[defender].health-=damage;
  29.                     obj[attacker].energy-=1;
  30.                     if(obj[defender].health<=0){
  31.                         delete obj[defender];
  32.                         console.log(`${defender} was disqualified!`)
  33.                     }
  34.                     if(obj[attacker].energy<=0){
  35.                         delete obj[attacker];
  36.                         console.log(`${attacker} was disqualified!`)
  37.                     }
  38.  
  39.                 }
  40.                 break;
  41.             case "Delete":
  42.                 let userName=valueOne;
  43.                 if(userName==="All"){
  44.                     obj=null;
  45.  
  46.  
  47.                 }else {
  48.                     delete obj[userName];
  49.                 }
  50.         }
  51.     }
  52.     let sorted=Object.entries(obj).sort((a,b)=>b[1].health-a[1].health || a.localeCompare(b));
  53.     console.log(`People count: ${sorted.length}`);
  54.     for(let kvp of sorted){
  55.         console.log(`${kvp[0]} - ${kvp[1].health} - ${kvp[1].energy}`)
  56.     }
  57.  
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement