Java 添加分数函数

Java 添加分数函数,java,greenfoot,Java,Greenfoot,我需要在顶部添加一些分数,但我不确定如何添加 我尝试过使用一些函数和分数函数,但是没有一个合适的分数计数器 以下是User players类: Score myInt = new Score(); myInt.score(); if(Pig != null) { World farm; farm = getWorld(); farm.removeObject(Pig); } if(Sheep != null) { World farm; farm = ge

我需要在顶部添加一些分数,但我不确定如何添加

我尝试过使用一些函数和分数函数,但是没有一个合适的分数计数器

以下是User players类:

Score myInt = new Score();
myInt.score();
if(Pig != null)
{
    World farm;
    farm = getWorld();
    farm.removeObject(Pig);
}
if(Sheep != null)
{
    World farm;
    farm = getWorld();
    farm.removeObject(Sheep);
}
if(Bonus != null)
{
    World farm;
    farm = getWorld();
    farm.removeObject(Bonus);
}
下面是评分类中的评分方法:

public void score()
{
        int score = 0;
}

我还没有拿到分数,但我希望猪是1分,羊是3分,奖金是10分,当你移动玩家时,当你吃东西时,你应该得到相应的分数。分数应该放在int score对象中,但是分数不会出现在第一个代码中。

嘿,看起来您仍在为基本的java概念而挣扎。但我想你是在尝试下面这样的事情。您有三种类型可以向分数对象添加分数。在java和其他面向对象语言中,通常使用基类或接口来处理此类行为。在这种情况下,例如接口可评分:

 interface ScoreAble {
    int score();
}
您的三个等级Pig、Sheep和Bonus将实现此接口:

public class Bonus implements ScoreAble {
  public int score() {
    return 10;
  }
}

public class Sheep implements ScoreAble {
  public int score() {
    return 3;
  }
}

public class Pig implements ScoreAble {
  public int score() {
    return 1;
  }
}
我建议换衣服

public void score()
{
      private int score = 0;
}

我不知道您的世界级是什么样子,但我建议添加以下几行:

class World {
  private List<ScoreAble> scoreAbles = new ArrayList<>();
  public List<ScoreAble> getScoreAbles() {
    return this.scoreAbles;
  }

  public void setScoreAbles(List<ScoreAble> scoreAbles) {
    this.scoreAbles = scoreAbles;
  }

 public void addScoreAble(ScoreAble scoreAble) {
  this.scoreAbles.add(scoreAble);

  }
}

我不熟悉greenfoot,因此,如果有些东西不起作用或不清楚,请不要害怕问

这里是score类-这是一个方法,而不是一个类。无关:遵循java命名约定:变量名按CAMELCE的情况。只有类名是大写的!实际问题是什么?为什么是世界农场;和farm=getWorld在两条线上?我知道这与您的问题无关,为什么不将其设置为World farm=getWorld以使其更易于阅读?
class World {
  private List<ScoreAble> scoreAbles = new ArrayList<>();
  public List<ScoreAble> getScoreAbles() {
    return this.scoreAbles;
  }

  public void setScoreAbles(List<ScoreAble> scoreAbles) {
    this.scoreAbles = scoreAbles;
  }

 public void addScoreAble(ScoreAble scoreAble) {
  this.scoreAbles.add(scoreAble);

  }
}

World farm = getWorld();
for (ScoreAble scoreAble : farm.getScoreAbles()) {
      score.addScore(scoreAble);
      farm.removeObject(scoreAble)
    }
farm.getScoreAbles().clear();