有一個游戲關卡,由一個老怪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";
}
}
}
}