第26天
文字版格斗游戏
代码实现
对象类
package 文字格斗游戏; import java.util.Random; public class Role { private String name; private int blood; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getBlood() { return blood; } public void setBlood(int blood) { this.blood = blood; } public Role() { } public Role(String name, int blood) { super(); this.name = name; this.blood = blood; } //role受到了攻击 public void attack(Role role) { // 定义类对象一次出手所造成的伤害,我们定义每次所造成的伤害在15~20之间。 Random r = new Random(); int hurt = r.nextInt(6) + 15; // 定义一个变量保存role受到攻击后所剩余的血量。 int remain = role.getBlood() - hurt; // 判断血量是否还足够支持战斗。 remain = remain < 0 ? 0 : remain; // 修改对象中此时的剩余血量。 role.setBlood(remain); // 打印出我们所需要的语音播报 System.out.println(this.name + "对" + role.getName() + "出拳,对" + role.getName() + "造成了" + hurt + "点伤害,此时倒霉的" + role.getName() + "还剩余" + remain + "点血量。"); } }
main代码实现
package 文字格斗游戏; public class RoleTest { public static void main(String[] args) { Role r1 = new Role("山鸡哥", 100); Role r2 = new Role("卖瓜的刘华强", 100); while (true) { r1.attack(r2); // 判断是否胜利 if (r2.getBlood() == 0) { System.out.println(r1.getName() + "获胜,打败了" + r2.getName()); break; } r2.attack(r1); // 判断是否胜利 if (r1.getBlood() == 0) { System.out.println(r2.getName() + "获胜,打败了" + r1.getName()); break; } } } }
结果
山鸡哥对卖瓜的刘华强出拳,对卖瓜的刘华强造成了18点伤害,此时倒霉的卖瓜的刘华强还剩余82点血量。
卖瓜的刘华强对山鸡哥出拳,对山鸡哥造成了18点伤害,此时倒霉的山鸡哥还剩余82点血量。
山鸡哥对卖瓜的刘华强出拳,对卖瓜的刘华强造成了20点伤害,此时倒霉的卖瓜的刘华强还剩余62点血量。
卖瓜的刘华强对山鸡哥出拳,对山鸡哥造成了18点伤害,此时倒霉的山鸡哥还剩余64点血量。
山鸡哥对卖瓜的刘华强出拳,对卖瓜的刘华强造成了19点伤害,此时倒霉的卖瓜的刘华强还剩余43点血量。
卖瓜的刘华强对山鸡哥出拳,对山鸡哥造成了18点伤害,此时倒霉的山鸡哥还剩余46点血量。
山鸡哥对卖瓜的刘华强出拳,对卖瓜的刘华强造成了17点伤害,此时倒霉的卖瓜的刘华强还剩余26点血量。
卖瓜的刘华强对山鸡哥出拳,对山鸡哥造成了16点伤害,此时倒霉的山鸡哥还剩余30点血量。
山鸡哥对卖瓜的刘华强出拳,对卖瓜的刘华强造成了17点伤害,此时倒霉的卖瓜的刘华强还剩余9点血量。
卖瓜的刘华强对山鸡哥出拳,对山鸡哥造成了16点伤害,此时倒霉的山鸡哥还剩余14点血量。
山鸡哥对卖瓜的刘华强出拳,对卖瓜的刘华强造成了19点伤害,此时倒霉的卖瓜的刘华强还剩余0点血量。
山鸡哥获胜,打败了卖瓜的刘华强