好吧所以我正在为游戏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循环中。 感谢
答案 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 ;