Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.62 KB | None | 0 0
  1. class Item {
  2. int price, weight, type;
  3. public Item(int price, int weight, int type){
  4. this.price = price;
  5. this.weight = weight;
  6. this.type = type;
  7. }
  8. }
  9. class Enemy{
  10. int hp, damage;
  11. int exp;
  12. public Enemy(int hp, int damage, int exp){
  13. this.hp = hp;
  14. this.damage = damage;
  15. this.exp = exp;
  16. }
  17. }
  18. abstract class Hero{
  19. protected String nickName;
  20. protected int s, a, i, exp, hp, mana; // сила ловкость интеллект
  21. опыт здоровье мана
  22. protected int x, y; // координаты героя на карте
  23. protected ArrayList<Item> items = new ArrayList<>(); // список поднятых предметов
  24. protected int damage; // урон
  25.  
  26. public int getMana(){
  27. return mana;
  28. }
  29. public int getDamage(){
  30. return damage;
  31. }
  32. public int getHp(){
  33. return hp;
  34. }
  35. public void goToCursor(int xx, int yy){
  36. x = xx; y = yy;
  37. }
  38. public abstract void attack(Enemy enemy); // этот метод должнен быть определен в классах наследниках
  39.  
  40. public abstract void defense(Enemy enemy);// этот метод должнен быть определен в классах наследниках
  41.  
  42. public void openItem(Item item){
  43. // метод должен добавлять предмет в список с вероятностью 50 %
  44. // для осуществления вероятностных процессов можно использовать случайное число от 0 до 100.
  45. }
  46. }
  47.  
  48. class Warrior{
  49. public Warrior(){
  50. //базовые значение
  51. }
  52. /*
  53. класс должен обладать всеми свойствами героя при создании воин должен
  54. обладать следующими характеристиками:
  55. здоровье - 500, мана - 10, сила - 100, ловкость - 50, интеллект - 1,
  56. опыт 0, урон - 150. При атаке герой наносит цели урон и получает урон в
  57. ответ от цели, действия повторяются пока кто то не победит. В случае
  58. победы герой получает опыт цели, каждые 500 единиц опыта герой получает
  59. новый уровень. Новый уровень дает +10 ко всем характеристикам, +200
  60. здоровья и +20 урона.Если воин имеет предмет 1 типа, к его урону
  61. добавляется 100.
  62. Уже мертвая цель - урона герою не наносит!!!
  63. */
  64. }
  65.  
  66. class Archer{
  67. public Archer(){
  68. //базовые значение
  69. }
  70. /*
  71. класс должен обладать всеми свойствами героя при создании лучник должен обладать следующими характеристиками: здоровье - 200, мана - 50, сила - 20, ловкость - 150, интеллект - 30, опыт 0, урон - 200.
  72. атака по аналогии с воином, но в процессе атаки лучник имеет 30% шанс избежать урон
  73. лучник всегда открывает предмет - 100%
  74. Новый уровень дает +10 ко всем характеристикам, +50 здоровья и +50 урона и 30 ловкости.
  75. */
  76. }
  77. class Magician{
  78. public Magician(){
  79. //базовые значение
  80. }
  81. private ArrayList<Item> casts = new ArrayList<>();
  82. /*
  83. класс должен обладать всеми свойствами героя при создании маг должен обладать следующими характеристиками: здоровье - 100, мана - 5000, сила - 5, ловкость - 30, интеллект - 300, опыт 0, урон - 40.
  84. атака по аналогии с воином
  85. помимо обычной атаки, маг имеет возможность бить заклинанием в процессе атаки
  86. защита мага осуществляется магическим щитом, который полгащает весь урон, но вместо здоровья тратит ману. Новый уровень дает +10 ко всем характеристикам, +30 здоровья, 1000 маны и +10 урона.
  87. В случае возможности убить врага с руки - маг бьет с руки!!! в Первую очередь
  88. */
  89. public void makeCast(Enemy enemy){
  90. // если в списке есть заклятия можно его произнести потратив 100 маны и нанеся 1000 урона цели.
  91. // после произнесения предмет из списка пропадает
  92. }
  93. public void eduCast(Item item){
  94. /*
  95. если предмет или предметы из списка имеют тип 2, это заклинания
  96. и их нужно добавить в список
  97. заклинаний мага
  98. */
  99. }
  100.  
  101. }
  102.  
  103. public class TestClass {
  104. public static void main(String[] args) throws IOException {
  105. Hero myHero = new Warrior();
  106. // Hero myHero = new Archer();
  107. // Hero myHero = new Magician();
  108.  
  109. ArrayList<Enemy> enemies = new ArrayList<>();
  110. enemies.add(new Enemy(30, 20, 1200)); // 1 - Крестьянин
  111. enemies.add(new Enemy(2018, 1, 350)); // 2 - Стая собак
  112. enemies.add(new Enemy(280, 50, 3050)); // 3 - Вор
  113. enemies.add(new Enemy(100500, 100500, 100500)); // 4 -
  114. Берсерк
  115.  
  116. //найден клад
  117. for (int i = 0; i < 300; i++) {
  118. Item item = new Item(0, 0, i % 3); // i%3 - будет задавать
  119. предмету тип 0, 1, 2
  120. myHero.openItem(item); // герои получает предмет в руки
  121. }
  122. System.out.println("Всего собрано: " + myHero.items.size());
  123.  
  124. // бой!
  125. int count = 1;
  126. for (Enemy enemy : enemies) {
  127. System.out.println(count++ + "-й бой:");
  128. System.out.println(" Герои { hp=" + myHero.hp + " mana=" +
  129. myHero.mana + " }");
  130. System.out.println(" Враг { hp=" + enemy.hp + " }");
  131. int counter = 1;
  132. while (myHero.hp > 0 & enemy.hp > 0) {
  133. System.out.println(counter++ + " раунд:");
  134. myHero.attack(enemy);
  135. myHero.defense(enemy);
  136. System.out.println(" Герои { hp=" + myHero.hp + "
  137. mana=" + myHero.mana + " }");
  138. System.out.println(" Враг { hp=" + enemy.hp + " }");
  139. }
  140. System.out.println(myHero.hp > 0 ? "Победа, герой получил
  141. опыт " + enemy.exp : "Поражение");
  142. System.out.printf("Герой { HP=%d, MANNA=%d, damage=%d,
  143. exp=%d }n", myHero.hp, myHero.mana, myHero.damage, myHero.exp);
  144. }
  145. }
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement