首页 > 代码库 > 奥特曼打小怪兽
奥特曼打小怪兽
1 /** 2 * OUTMAN附 3 * 4 * @author 王启文 5 * 6 */ 7 public class One { 8 private String name; 9 private int hp;10 private int mp;11 private int damage;12 private int defense;13 private int intelligence;14 15 public One(String name, int hp, int mp, int damage, int defense,16 int intelligence) {17 this.name = name;18 this.hp = hp;19 this.mp = mp;20 this.damage = damage;21 this.defense = defense;22 this.intelligence = intelligence;23 }24 25 public String getName() {26 return this.name;27 }28 29 public boolean isAlive() {30 return this.hp > 0;31 }32 33 public boolean hasMp() {34 return this.mp > 0;35 }36 37 public String getInfo() {38 return "姓名: " + name + "\n生命值: " + hp + "\t" + "魔法值: " + mp;39 }40 41 public void physicsAttack(One other) {42 int effectiveDamage = (int) (Math.random() * damage / 5 + 4 * damage / 5);43 int effectiveDefense = (int) (Math.random() * defense / 4 + 3 * defense / 4);44 if (effectiveDamage - effectiveDefense > 0) {45 other.hp -= effectiveDamage - effectiveDefense;46 if (other.hp <= 0) {47 other.hp = 0;48 }49 } else {50 other.hp -= 1;51 }52 }53 54 public void magicAttack(One other) {55 int effectiveMagicAttack = (int) (Math.random() * intelligence / 2 + intelligence);56 other.hp -= effectiveMagicAttack;57 mp -= 40;58 if (other.hp <= 0) {59 other.hp = 0;60 }61 if (mp <= 0) {62 mp = 0;63 }64 }65 66 public void outburst() {67 double sz = Math.random();68 if (sz < 0.1 && this.hp < hp / 10) {69 this.hp *= 2;70 this.damage *= 2;71 this.defense *= 0.5;72 }73 }74 75 // public boolean escape(){76 // double sc = Math.random();77 // if (this.hp<hp/10&&sc<0.1) {78 // this.hp=0;79 // }80 // return false;81 // }82 }
1 /** 2 * OUTMAN 3 * 4 * @author 王启文 5 * 6 */ 7 public class fight { 8 public static void main(String[] args) { 9 One a1 = new One("Ultraman", 600, 280, 99, 55, 120);10 One a2 = new One("Monster", 1200, 200, 78, 70, 100);11 12 int times = 1;13 14 System.out.println(a1.getInfo());15 System.out.println(a2.getInfo());16 17 while (a1.isAlive() && a2.isAlive()) {18 System.out.println("第" + times + "次");19 double a = Math.random();20 if (a < 0.8) {21 a1.physicsAttack(a2);22 if (a2.isAlive()) {23 double b = Math.random();24 if (b < 0.8) {25 a2.physicsAttack(a1);26 } else {27 if (a2.hasMp()) {28 a2.magicAttack(a1);29 } else30 a2.physicsAttack(a1);31 }32 }33 } else {34 if (a1.hasMp()) {35 a1.magicAttack(a2);36 if (a2.isAlive()) {37 double b = Math.random();38 if (b < 0.8) {39 a2.physicsAttack(a1);40 } else {41 if (a2.hasMp()) {42 a2.magicAttack(a1);43 } else {44 a2.physicsAttack(a1);45 }46 }47 }48 } else {49 a1.physicsAttack(a2);50 if (a2.isAlive()) {51 double b = Math.random();52 if (b < 0.8) {53 a2.physicsAttack(a1);54 } else {55 if (a2.hasMp()) {56 a2.magicAttack(a1);57 } else58 a2.physicsAttack(a1);59 }60 }61 }62 }63 64 System.out.println(a1.getInfo());65 System.out.println(a2.getInfo());66 System.out.println("----------------");67 times++;68 }69 70 if (a1.isAlive()) {71 System.out.println(a1.getName() + "获胜!!!");72 } else {73 System.out.println(a2.getName() + "获胜!!!");74 }75 }76 }
未完待续......
奥特曼打小怪兽
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。