求代码大神帮帮忙,java,急!

求各位大神帮帮忙吧!!!非常感激... 求各位大神帮帮忙吧!!!非常感激 展开
 我来答
hanming3092
2017-12-06 · TA获得超过239个赞
知道答主
回答量:67
采纳率:33%
帮助的人:49.2万
展开全部

分太少了哥,大家没动力

题目1

package com.baidu.work;

import java.util.Random;

public class Knight {
private static Integer minHp = 200;//最小血量
private static Integer maxHp = 400;//最大血量
private static Integer minAtk = 50;//最小攻击力
private static Integer maxAtk = 100;//最大攻击力 ,需保证生成的攻击力大于防御
private static Integer minDef = 20;//最小防御
private static Integer maxDef = 40;//最大防御
private static Integer maxSp = 100;//最大速度
private Random random = new Random();

private String name;//骑士大名
private Integer hp;//血量
private Integer atk;//攻击力
private Integer def;//防御
private Integer sp;//速度

public Knight(){}

/**
 * 随机生成骑士的属性
 * @param name
 */
public Knight(String name){
this.name = name;
this.hp = minHp + random.nextInt(maxHp-minHp);
this.atk = minAtk + random.nextInt(maxAtk-minAtk);
this.def = minDef + random.nextInt(maxDef-minDef);
this.sp = random.nextInt(maxSp);
printKnightInfo();
}

public void printKnightInfo(){
System.out.println(String.format("Knight:%s,hp:%s, atk:%s, def:%s, sp:%s", name, hp, atk, def, sp));
}

public void printKnightHealth(){
System.out.println(String.format("%s left hp:%s", name, hp));
}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getHp() {
return hp;
}
public void setHp(Integer hp) {
this.hp = hp;
}
public Integer getAtk() {
return atk;
}
public void setAtk(Integer atk) {
this.atk = atk;
}
public Integer getDef() {
return def;
}
public void setDef(Integer def) {
this.def = def;
}
public Integer getSp() {
return sp;
}
public void setSp(Integer sp) {
this.sp = sp;
}

}
package com.baidu.work;

public class Fight {

public static void main(String[] args) {
Knight knight1 = new Knight("knight1");
Knight knight2 = new Knight("knight2");

fight(knight1, knight2);
}

private static void fight(Knight knight1, Knight knight2) {
System.out.println("fighting begin...");
Knight[] knights = new Knight[2];
if(knight1.getSp() >= knight2.getSp()){
knights[0] = knight1;
knights[1] = knight2;
}else{
knights[0] = knight2;
knights[1] = knight1;
}

int i = 1;
while(knights[0].getHp()>0 && knights[1].getHp()>0){
if(i%2 == 1){
System.out.println(String.format("round %s: %s attack %s", i, knights[0].getName(), knights[1].getName()));
knights[1].setHp(knights[1].getHp()-(knights[0].getAtk()- knights[1].getDef()));
knights[1].printKnightHealth();
}else{
System.out.println(String.format("round %s: %s attack %s", i, knights[1].getName(), knights[0].getName()));
knights[0].setHp(knights[0].getHp()-(knights[1].getAtk()- knights[0].getDef()));
knights[0].printKnightHealth();
}
i++;
}

System.out.println("fighting end");
System.out.println(String.format("%s is win", knights[0].getHp() > 0?knights[0].getName(): knights[1].getName()));
}
}
结果自行运行,随机生成的属性,每次都不一样,示例结果如下:
Knight:knight1,hp:253, atk:93, def:35, sp:2
Knight:knight2,hp:387, atk:58, def:35, sp:30
fighting begin...
round 1: knight2 attack knight1
knight1 left hp:230
round 2: knight1 attack knight2
knight2 left hp:329
round 3: knight2 attack knight1
knight1 left hp:207
round 4: knight1 attack knight2
knight2 left hp:271
round 5: knight2 attack knight1
knight1 left hp:184
round 6: knight1 attack knight2
knight2 left hp:213
round 7: knight2 attack knight1
knight1 left hp:161
round 8: knight1 attack knight2
knight2 left hp:155
round 9: knight2 attack knight1
knight1 left hp:138
round 10: knight1 attack knight2
knight2 left hp:97
round 11: knight2 attack knight1
knight1 left hp:115
round 12: knight1 attack knight2
knight2 left hp:39
round 13: knight2 attack knight1
knight1 left hp:92
round 14: knight1 attack knight2
knight2 left hp:-19
fighting end
knight1 is win
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式