尝试用java创建的新手

尝试用java创建的新手,java,Java,如果我在一个用java编写的游戏中有两名玩家,我如何添加代码来跟踪游戏中的攻击总数?每个玩家赢得多少次攻击,并追踪每个玩家每次攻击的平均伤害 以下是我迄今为止所做的工作: public abstract class Player { private int health = 1000; private String playerName; private String playerWeapon; private String battleLocation;

如果我在一个用java编写的游戏中有两名玩家,我如何添加代码来跟踪游戏中的攻击总数?每个玩家赢得多少次攻击,并追踪每个玩家每次攻击的平均伤害

以下是我迄今为止所做的工作:

public abstract class Player {

    private int health = 1000;
    private String playerName;
    private String playerWeapon;
    private String battleLocation;
    private String specialGift;
    private boolean isPain;

    // Week2Day2 NVA.P8 HOMEWORK ACTIVITY ADDITON-  next 4 lines only. including cb's.
    public String trackAttacks(int totalAttacks, int attacksWon, int damageGiven) {
        public String totalAttacks;                                 // added for P.8  *****REMOVE ME IF WRONG
        private String totalattacksWon;                           // added for P.8  *****REMOVE ME IF WRONG
        private String averageDamageGiven;{                       // added for P.8  *****REMOVE ME IF WRONG

            public void printStats ();                            // added for P.8  *****REMOVE ME IF WRONG
            {                                                     // added for P.8  *****REMOVE ME IF WRONG
                System.out.println("Attack    " + this.attack);   // added for P.8  *****REMOVE ME IF WRONG
                // other stats                                    // added for P.8  *****REMOVE ME IF WRONG
            }                                                     // added for P.8  *****REMOVE ME IF WRONG
        }                                                         // added for P.8  *****REMOVE ME IF WRONG
    }                                                             // added for P.8  *****REMOVE ME IF WRONG


    public int getHealth() {
        return health;
    }

    public void removeHealth(int hit) {
        health -= hit;
    }

    public String getPlayerName() {
        return playerName;
    }

    public void setPlayerName(String playerName) {
        this.playerName = playerName;
    }

    public String getPlayerWeapon() {
        return playerWeapon;
    }

    public void setPlayerWeapon(String playerWeapon) {
        this.playerWeapon = playerWeapon;
    }

    public String getBattleLocation() {
        return battleLocation;
    }

    public void setBattleLocation(String battleLocation) {
        this.battleLocation = battleLocation;
    }

    public String getSpecialGift() {
        return specialGift;

    }

    public void setSpecialGift(String specialGift) {
        this.specialGift = specialGift;

    }

    public boolean getisPain() {
        return isPain;

    }

    public void setisSPain(boolean isPain) {
        this.isPain = isPain;
    }

    public String gettotalAttacks() { // added for P.8  *****REMOVE ME IF WRONG
        return totalAttacks;
    }

    public void settotalAttacks(String totalAttacks) { // added for P.8  *****REMOVE ME IF WRONG
        this.totalAttacks = totalAttacks;
    }

    public String gettotalattacksWon() {                 // added for P.8 *****REMOVE ME IF WRONG
        return playerWeapon;
    }

    public void settotalattacksWon(String totalattacksWon) {// added for P.8*****REMOVE ME IF WRONG
        this.totalattacksWon = totalattacksWon;
    }

    public String getaverageDamageGiven() {           // added for P.8*****REMOVE ME IF WRONG
        return playerWeapon;
    }

    public void setaverageDamageGiven(String averageDamageGiven) {   // added for P.8*****REMOVE ME IF WRONG
        this.averageDamageGiven = averageDamageGiven;


    }

    private int getSpecialDamage(int Damage) {
        double extDamage = 1;
        int randNum = RandInt.randomInt(0, 100);


        if (getSpecialGift().equalsIgnoreCase("speed") && randNum < 75) {
            extDamage = 1.2;

        } else if (getSpecialGift().equalsIgnoreCase("power") && randNum < 50) {
            extDamage = 1.5;
        } else if (getisPain() || getSpecialGift().equalsIgnoreCase("pain") && randNum < 10) {
            setisSPain(true);
            Damage -= 3;
            if (Damage < 1) ;
            {
                Damage = 1;
            }
        }
        extDamage = extDamage * Damage;
        Double d = new Double(extDamage);
        return d.intValue();
    }

    public int getSharkAttack() {
        int biteDamage = 0;
        int randNum = RandInt.randomInt(0, 100);

        if (getBattleLocation().equalsIgnoreCase("ocean") && randNum < 25) {
            biteDamage = 100;
            System.out.println("shark attack");
        }

        if (randNum <= 5) {
            biteDamage = 100;
            System.out.println("bitten");
        }
        return biteDamage;
    }
公共抽象类播放器{
私人健康指数=1000;
私人弦乐演奏者姓名;
私人弦乐演奏武器;
私人位置;
专用字符串专用礼物;
私有布尔isPain;
//星期二第2天NVA.P8家庭作业活动附加内容-仅限下4行。包括cb。
公共字符串跟踪攻击(整数总体攻击、整数攻击、整数伤害){
公共字符串totalAttacks;//为P.8添加******如果错误,请删除我
私有字符串totalattacksWon;//为第8页添加****如果错误,请删除我
私有字符串averageDamageGiven;{//为第8页添加*******如果错误,请删除我
public void printStats();//为第8页添加******如果错误,请删除我
{//为第8页添加******如果错误,请删除我
System.out.println(“攻击”+this.Attack);//为第8页添加****如果错误,请删除我
//其他统计信息//为第8页添加****如果错误,请删除我
}//为第8页添加****如果错误,请删除我
}//为第8页添加****如果错误,请删除我
}//为第8页添加****如果错误,请删除我
公共卫生{
恢复健康;
}
public void removeHealth(int hit){
健康-=击中;
}
公共字符串getPlayerName(){
返回playerName;
}
public void setPlayerName(字符串playerName){
this.playerName=playerName;
}
公共字符串getPlayerWeapon(){
返回玩家武器;
}
public void setPlayerWeapon(字符串playerWeapon){
this.playerWeapon=playerWeapon;
}
公共字符串getBattleLocation(){
返回战场位置;
}
公共空位退位位置(字符串战斗位置){
this.battleLocation=battleLocation;
}
公共字符串getSpecialGift(){
归还特别礼物;
}
公共无效集合特殊礼物(字符串特殊礼物){
this.specialGift=specialGift;
}
公共布尔getisPain(){
返回isPain;
}
public void setisSPain(布尔值isPain){
this.isPain=isPain;
}
公共字符串gettotalAttacks(){//为P.8添加****如果错误,请删除我
返回攻击;
}
public void settotalAttacks(字符串totalAttacks){//为第8页添加****如果错误,请删除我
this.totalAttacks=totalAttacks;
}
公共字符串gettotalattacksWon(){//为P.8添加****如果错误,请删除我
返回玩家武器;
}
public void settotalattacksWon(字符串totalattacksWon){//为第8页添加****如果错误,请删除我
this.totalattacksWon=totalattacksWon;
}
公共字符串getaverageDamageGiven(){//为P.8添加******如果错误,请删除我
返回玩家武器;
}
public void setaverageDamageGiven(字符串averageDamageGiven){//为P.8添加****如果错误,请删除我
this.averageDamageGiven=averageDamageGiven;
}
私人智力受到特殊伤害(智力伤害){
双损伤=1;
int randNum=RandInt.randomInt(0100);
if(getSpecialGift().equalsIgnoreCase(“速度”)和&randNum<75){
extDamage=1.2;
}else if(getSpecialGift().equalsIgnoreCase(“power”)和&randNum<50){
extDamage=1.5;
}else if(getisPain()| | getSpecialGift().equalsIgnoreCase(“疼痛”)和&randNum<10){
setisSPain(真);
损伤-=3;
如果(损坏<1);
{
损伤=1;
}
}
extDamage=extDamage*损坏;
双d=新双d(extDamage);
返回d.intValue();
}
public int getSharkAttack(){
int位图像=0;
int randNum=RandInt.randomInt(0100);
if(getBattleLocation().equalsIgnoreCase(“海洋”)和&randNum<25){
比特图像=100;
System.out.println(“鲨鱼攻击”);
}

如果(randNum如果你想跟踪每个玩家在游戏中的攻击总数,请尝试使用静态实例变量。静态实例变量由同名的所有对象共享,因此无论你让多少玩家参与,始终可以跟踪他们之间的所有攻击

为了跟踪每个玩家赢得多少次攻击以及每个玩家每次攻击的平均伤害,只需再次使用对象实例变量

public abstract class Player {

   private static int totalAttacks;
   private int attacksWon;
   private int damageGiven;
   private int health = 1000;
   private String playerName;
   private String playerWeapon;
   private String battleLocation;
   private String specialGift;
   private boolean isPain;

然后,您可以去掉trackAttacks方法。然后用具有正确逻辑的正确getter和setters方法替换它。

您的家庭作业的全部目的不是为了解决这个问题吗?请仔细阅读要点。回到绘图板上。