新人,在线求帮助!!!!

午夜末班车 2015-08-11 09:09:06
public static void main(String[] args) {
System.out.println("欢迎进入魔幻世界");
System.out.println("==================");
// 人物角色
int HPa = 15;
int ATKa = 2;
int ACa = 1;
String Career1 = "战士";
String Name1 = "奥拉夫";
System.out.println("你的职业" + Career1);
System.out.println("你的名字" + Name1);
System.out.println("你的生命值" + HPa);
System.out.println("你的攻击力" + ATKa);
System.out.println("你的防御力" + ACa);
System.out.println("-------------------");

// 怪物角色
int HPb = 10;
int ATKb = 2;
int ACb = 1;
String Career2 = "亡灵";
String Name2 = "骷髅鸡";
System.out.println("怪物的种族" + Career2);
System.out.println("怪物的名字" + Name2);
System.out.println("怪物的生命值" + HPb);
System.out.println("怪物的伤害" + ATKb);
System.out.println("怪物的护甲" + ACb);
System.out.println("-------------------");

int hpa = HPa / 2; // 人的半血状态为:hpa=8
int hpb = HPb / 5; // 怪物的半血状态为:hpb=2
int a = 1, b = 1; // 用来控制血量警告的次数
String flag; // 用来判断阵亡的是哪一方

if (HPa > 0 && HPb > 0) {
do{
for (; (HPa > 0 && HPb > 0);) {
HPa = HPa - (ATKb - ACa);
HPb = HPb - (ATKa - ACb);
if (HPa <= hpa || HPb <= hpb) {
if ((HPa <= hpb) && a == 2) {
System.out.println("警告!!您的血量已不足50%");
System.out.println("此时您的剩余血量为:" + HPa);
System.out.println("此时怪物的剩余血量为:" + HPb);
System.out.println("-------------------");
a--;
}
if ((HPb <= hpb) && b == 1) {
System.out.println("加油!!" + Name2+ "的血量已不足20%,干掉他!");
System.out.println("此时您的剩余血量为:" + HPa);
System.out.println("此时怪物的剩余血量为:" + HPb);
System.out.println("-------------------");
b--;
}

}
}
}while(HPa>=0);
if(HPa<=0){
System.out.println("您已经阵亡!");
}

flag = (HPa > 0) ? Name1 : Name2;//判定死亡的一方.
System.out.println(flag + " 获得了胜利");

}
}
}


能帮我看看那个地方错了吗?为什么这样不能进行循环,我想让这个游戏一直战斗,直到战士血为0时停止.......才开始学Java2天 希望能得到帮助!谢谢!!!
...全文
146 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,639

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧