Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function battleManager(input){
- let obj={};
- for(let line of input){
- if(line==="Results"){
- break;
- }
- let [command,name,valueOne,valueTwo]=line.split(":");
- switch(command){
- case "Add":
- let health=Number(valueOne);
- let energy=Number(valueTwo);
- if(!obj.hasOwnProperty(name)){
- obj[name]={
- health,
- energy
- }
- }else {
- obj[name].health+=health
- }
- break;
- case "Attack":
- let attacker=name;
- let defender=valueOne;
- let damage=Number(valueTwo);
- if(obj.hasOwnProperty(attacker) && obj.hasOwnProperty(defender)){
- obj[defender].health-=damage;
- obj[attacker].energy-=1;
- if(obj[defender].health<=0){
- delete obj[defender];
- console.log(`${defender} was disqualified!`)
- }
- if(obj[attacker].energy<=0){
- delete obj[attacker];
- console.log(`${attacker} was disqualified!`)
- }
- }
- break;
- case "Delete":
- let userName=valueOne;
- if(userName==="All"){
- obj=null;
- }else {
- delete obj[userName];
- }
- }
- }
- let sorted=Object.entries(obj).sort((a,b)=>b[1].health-a[1].health || a.localeCompare(b));
- console.log(`People count: ${sorted.length}`);
- for(let kvp of sorted){
- console.log(`${kvp[0]} - ${kvp[1].health} - ${kvp[1].energy}`)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement