问题描述
- 求大神帮解C语言编程问题求解
-
有一个游戏关卡,由一个老怪Q把守,它的攻击能力为a,血量为b,每一个回合可以回血c。游戏角色P,具有攻击能力d,血量e,每一回合回血f。请问P能否击败老怪Q,如果不能,需要几个P协作击败老怪Q?
解决方案
假设两者的血量e、b开始的血量,在打斗的过程中攻击力和回血均不会变化,那么只比较两者的血量就可以了如下:
public static String fight(int a,int b, int c,int d, int e,int f) {
int life_Q = b, life_P = e;
while(true){
//P攻击Q
life_Q -= d;
if(e > life_P){
if((life_P+f) <= e){
life_P += f;
}else{
life_P = e;
}
}
if(0 >= life_Q){
return "P success";
}
//Q还击
life_P -= a;
if(b > life_Q){
if((life_Q+c) <= e){
life_Q += c;
}else{
life_Q = e;
}
}
if(0 >= life_P){
return "Q success";
}
if(0 <= life_P){
return "Q success";
}
}
}
}
解决方案二:
谁先手?准确数值是多少?难道还能让c给你列一个方程组吗?
解决方案三:
谁先手?准确数值是多少?难道还能让c给你列一个方程组吗?
解决方案四:
几个P攻击Q的,可以随机的把Q的伤害分配给P也可以平均分给P们,提问者自己稍微改点代码即可
解决方案五:
几个P攻击Q的,可以随机的把Q的伤害分配给P也可以平均分给P们,提问者自己稍微改点代码即可
时间: 2024-12-22 21:26:59