Advertisement
Guest User

Untitled

a guest
Dec 5th, 2019
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.27 KB | None | 0 0
  1. package Exam03AugustFinal;
  2.  
  3. import java.util.LinkedHashMap;
  4. import java.util.Map;
  5. import java.util.Scanner;
  6. import java.util.TreeMap;
  7.  
  8. public class BattleManager {
  9. public static class Person{
  10. int health;
  11. int energy;
  12.  
  13. public int getHealth() {
  14. return health;
  15. }
  16.  
  17. public void setHealth(int health) {
  18. this.health = health;
  19. }
  20.  
  21. public int getEnergy() {
  22. return energy;
  23. }
  24.  
  25. public void setEnergy(int energy) {
  26. this.energy = energy;
  27. }
  28. }
  29. public static void main(String[] args) {
  30. Scanner scanner = new Scanner(System.in);
  31. String input=scanner.nextLine();
  32. TreeMap<String, Person> userStats=new TreeMap<>();
  33.  
  34. while (!"Results".equals(input)){
  35. String[] tokens=input.split(":");
  36. switch (tokens[0]){
  37. case "Add":
  38. int health=Integer.parseInt(tokens[2]);
  39. int energy=Integer.parseInt(tokens[3]);
  40. if(!userStats.containsKey(tokens[1])){
  41. Person person = new Person();
  42. person.setEnergy(energy);
  43. person.setHealth(health);
  44. userStats.put(tokens[1],person);
  45. }else{
  46. userStats.get(tokens[1]).setHealth(userStats.get(tokens[1]).getHealth()+health);
  47. }
  48. break;
  49. case "Attack":
  50. String attacker=tokens[1];
  51. String defender=tokens[2];
  52. int damage=Integer.parseInt(tokens[3]);
  53. if(userStats.containsKey(attacker) && userStats.containsKey(defender)) {
  54. userStats.get(defender).setHealth(userStats.get(defender).getHealth() - damage);
  55. userStats.get(attacker).setEnergy(userStats.get(attacker).getEnergy() - 1);
  56. if (userStats.get(defender).getHealth() <= 0) {
  57. System.out.printf("%s was disqualified!%n", defender);
  58. userStats.remove(defender);
  59. }
  60. if (userStats.get(attacker).getEnergy() <= 0) {
  61. System.out.printf("%s was disqualified!%n", attacker);
  62. userStats.remove(attacker);
  63. }
  64. }
  65. break;
  66. case "Delete":
  67. if(tokens[1].equals("All")){
  68. userStats.clear();
  69. }else if(userStats.containsKey(tokens[1])){
  70. userStats.remove(tokens[1]);
  71. }
  72. break;
  73. }
  74. input=scanner.nextLine();
  75. }
  76. System.out.printf("People count: %d%n",userStats.size());
  77. userStats.entrySet().stream()
  78. .sorted((a,b)->{
  79. int first=b.getValue().getHealth();
  80. int second=a.getValue().getHealth();
  81. return first-second;
  82. }).forEach(e-> System.out.printf("%s - %d - %d%n",e.getKey(),e.getValue().getHealth(),e.getValue().getEnergy()));
  83. }
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement