Advertisement
Guest User

Untitled

a guest
Jan 12th, 2020
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. // 兵士クラス
  2. import java.util.Random;
  3. public class Soldier {
  4. String name;
  5. int hp = 36;
  6. int power = 6;
  7. int damage;
  8. Random rand = new Random();
  9.  
  10. public Soldier(String name) {
  11. this.name = name;
  12. }
  13.  
  14. public void attack(Slime sli) {
  15. damage = power + rand.nextInt(5) - 2;
  16. sli.hp -= damage;
  17. System.out.println(this.name + "はスライムに" + damage + "のダメージを与えた!");
  18. }
  19. public void assault(Slime sli) {
  20. damage = power * 2 + rand.nextInt(7) - 3;
  21. sli.hp -= damage;
  22. int myDamage = this.hp /4;
  23. this.hp -= myDamage;
  24. System.out.println(this.name + "は突撃した! スライムに" + damage + "のダメージを与えた!");
  25. System.out.println("しかし" + myDamage + "のHPを消耗した!");
  26. }
  27. public void rest() {
  28. int recovery = rand.nextInt(10) + 1;
  29. this.hp += recovery;
  30. if (this.hp > 50) {
  31. this.hp = 50;
  32. }
  33. System.out.println(this.name + "のHPは" + recovery + "回復した!");
  34. }
  35. }
  36.  
  37. // スライムクラス
  38. import java.util.Random;
  39. public class Slime extends Monster {
  40. String name = "スライム";
  41. int hp = 24;
  42. int power = 4;
  43. Random rand = new Random();
  44.  
  45. public void attack(Soldier sol) {
  46. int damage = power + rand.nextInt(3) - 1;
  47. sol.hp -= damage;
  48. System.out.println(sol.name + "はスライムから" + damage + "のダメージを受けた!");
  49. }
  50. public void rest() {
  51. System.out.println("スライムは様子を見ている");
  52. }
  53. }
  54.  
  55. // 戦闘クラス(1vs1)
  56. import java.util.Scanner;
  57.  
  58. public class Battle_1vs1 {
  59. public static void main(String[] args) {
  60. Scanner scan = new Scanner(System.in);
  61.  
  62. System.out.println("モンスターとのバトルを始めます");
  63. System.out.println("あなたは兵士です 名前を決めて下さい");
  64. String yourName = scan.next();
  65. Soldier sol = new Soldier(yourName);
  66. Slime sli = new Slime();
  67.  
  68. System.out.println("バトル開始");
  69. int act;
  70. int totalDamage = 0;
  71.  
  72. while (true) {
  73. System.out.println(sol.name + "の行動を決定して下さい HP:" + sol.hp + " 与えたダメージ:" + totalDamage);
  74. System.out.println("攻撃する:1 決死で突撃する:2 休む:3 逃げる:4");
  75. act = scan.nextInt();
  76. if (act == 1) {
  77. sol.attack(sli);
  78. totalDamage += sol.damage;
  79. if (sli.hp <= 0) {
  80. System.out.println("スライムを倒した!");
  81. break;
  82. }
  83. } else if (act == 2) {
  84. sol.assault(sli);
  85. totalDamage += sol.damage;
  86. if (sli.hp <= 0) {
  87. System.out.println("スライムを倒した!");
  88. break;
  89. }
  90. } else if (act == 3) {
  91. sol.rest();
  92. } else if (act == 4) {
  93. if (Math.random() <= (2.0 / 3.0)) {
  94. System.out.println(sol.name + "は逃げ出した!");
  95. break;
  96. } else {
  97. System.out.println(sol.name + "は逃げるのに失敗した!");
  98. }
  99. } else {}
  100.  
  101. if (Math.random() <= 0.7) {
  102. sli.attack(sol);
  103. if (sol.hp <= 0) {
  104. System.out.println(sol.name + "は死んでしまった!");
  105. }
  106. } else {
  107. sli.rest();
  108. }
  109.  
  110. System.out.println();
  111. }
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement