闲来无聊写了一个魔塔商店里究竟该买啥算法,上回花了一个下午就是攻防升级错了才卡死在19楼。
class MT{
private int hp;
private int attack;
private int defense;
MT(int selfHP,int selfAttack,int selfDefense){
hp = selfHP;
attack = selfAttack;
defense = selfDefense;
}
public String upgrade(int enemyLife, int enemyAttack, int enemyDefense){
int selfUnitHarm = enemyAttack - defense;
int enemyUnitHarm = attack - enemyDefense;
int upgradeAttackBlood = (enemyLife / (enemyUnitHarm + 4)) * selfUnitHarm;
int upgradeDefenseBlood = (enemyLife / enemyUnitHarm) * (selfUnitHarm - 4);
if(upgradeAttackBlood > hp || upgradeDefenseBlood > hp){
System.out.println("don't fight");
}
if(upgradeAttackBlood >= upgradeDefenseBlood){
System.out.println("upgrade defense");
return "upgrade defense";
}
if(upgradeAttackBlood < upgradeDefenseBlood){
System.out.println("upgrade attack");
return "upgrade attack";
}
return "I don't know what the f*** I should do!";
}
}
class MT{
private int hp;
private int attack;
private int defense;
MT(int selfHP,int selfAttack,int selfDefense){
hp = selfHP;
attack = selfAttack;
defense = selfDefense;
}
public String upgrade(int enemyLife, int enemyAttack, int enemyDefense){
int selfUnitHarm = enemyAttack - defense;
int enemyUnitHarm = attack - enemyDefense;
int upgradeAttackBlood = (enemyLife / (enemyUnitHarm + 4)) * selfUnitHarm;
int upgradeDefenseBlood = (enemyLife / enemyUnitHarm) * (selfUnitHarm - 4);
if(upgradeAttackBlood > hp || upgradeDefenseBlood > hp){
System.out.println("don't fight");
}
if(upgradeAttackBlood >= upgradeDefenseBlood){
System.out.println("upgrade defense");
return "upgrade defense";
}
if(upgradeAttackBlood < upgradeDefenseBlood){
System.out.println("upgrade attack");
return "upgrade attack";
}
return "I don't know what the f*** I should do!";
}
}