java双人对打小游戏,无注释版,没多余废话直接上效果和源码
一.运行效果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9db7680e38361f071c59cce6dc278d18.png)
一.英雄类
import java.util.Random;
public class Hero {
private String name;
private int hp;
private String[] skills;
private int[] skillDamage;
private int shaker;
private boolean judge;
private static int skill;
private static Random random= new Random();
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public int getHp() {
return this.hp;
}
public void setHp(int hp) {
this.hp = hp;
}
public String[] getSkills() {
return skills;
}
public int[] getSkillDamage() {
return skillDamage;
}
public void setSkillDamage(int[] skillDamage) {
this.skillDamage = skillDamage;
}
public void setSkills(String[] skills) {
this.skills = skills;
}
public int attack(int spellDamage) {
this.hp = this.hp - spellDamage;
return this.hp;
}
public static boolean battle(String[] attack, int[] defense, Hero attacker, Hero defender){
if (defender.getHp() >= 0) {
skill = random.nextInt(attack.length);
int n = defender.attack(defense[skill]);
if (n<=0){
defender.setHp(0);
}
System.out.println(attacker.getName() + "使用“"+attack[skill] + "”技能对" + defender.name + "造成["+defense[skill] + "]点伤害,"+ defender.name+"还剩余[" + defender.getHp() + "]血量");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (defender.getHp() <= 0){
System.out.println(defender.getName()+"血量不足,"+attacker.getName()+"胜");
return false;
}
return true;
}
return false;
}
public Hero(){}
public Hero(Hero hero,Hero hero1){
shaker = random.nextInt(2);
System.out.println("VS\t开始,摇色子随机判断谁先出手");
if (shaker == 1) {
System.out.println(hero.getName()+"先开始攻击"+hero1.getName());
} else {
System.out.println(hero1.getName()+"先开始攻击"+hero.getName());
}
judge = true;
while (judge) {
if (shaker == 1) {
shaker=0;
judge=Hero.battle(hero.getSkills(),hero.getSkillDamage(),hero,hero1);
}else if (shaker==0&& judge) {
shaker = 1;
judge = Hero.battle(hero1.getSkills(), hero1.getSkillDamage(), hero1, hero);
}
}
}
}
三.主类
public class ZhanDou {
private static int[] skillDamage = {10,50,100,200};
private static String[] cai_skills ={"唱","跳","打篮球","律师函警告"};
private static String[] wu_skills ={"rap","修车","街舞","戴帽杀"};
public static void main(String[] args) {
Hero zhangSan = new Hero();
Hero liSi = new Hero();
zhangSan.setName("张三");
liSi.setName("李四");
zhangSan.setHp(1000);
liSi.setHp(1000);
zhangSan.setSkills(cai_skills);
liSi.setSkills(wu_skills);
zhangSan.setSkillDamage(skillDamage);
liSi.setSkillDamage(skillDamage);
new Hero(zhangSan,liSi);
}
}