麻烦在Yahtzee记分卡类型程序中实例化变量

时间:2012-10-17 23:25:06

标签: java variables constants

好吧所以我正在为游戏Yahtzee编写一个程序,我正在试图弄清楚如何在每轮记分卡中存储每一轮的价值,并继续填写记分卡的其他部分。我这样做的方式是我的代码的这一部分:

  public static void finalScoreCard(int choice, int points)
  {
 int ones = one(choice, points);
 int twos = two(choice, points);
 int threes = three(choice, points);
 int fours = four(choice, points);
 int fives = five(choice, points);
 int sixes = six(choice, points);
 int threeKind = nine(choice, points);
 int fourKind = ten(choice, points);
 int fullHouse = eleven(choice, points);
 int smallStr = twelve(choice, points);
 int largeStr = thirteen(choice, points);
 int yahtzee = fourteen(choice, points);
 int chance = fifteen(choice, points);
}

 public static int one(int choice, int points)
 {
final int score;
if (choice == 1)
    score = points;

if (choice != 1 && score != points)
    return 0;
else
    return score;
 }

所以“one”方法应该接受选择号和点参数,然后如果选择该框则返回分数。 如果用户选择该选项,我希望我的程序实例化“得分”,并将“得分”分配给“得分”。然后在他们完成此操作之后,该方法应该在每轮之后返回得分,或者返回0直到“得分”被实例化。问题是,我不明白如何多次保存“得分”的价值。整个程序处于一个运行13次的for循环中。 感谢

1 个答案:

答案 0 :(得分:0)

我会考虑使用一种方法和一种开关。

public void doSomething(int choice, int points)
{
  switch(choice)
  {
    case 1:
      ...
      break;
    case 2:
     ...
     break;
    default:
     //handle default case
  }
}

哦,让score成为一个私有变量。假设方法和变量属于同一类,那应该没问题。

private int score ;