因此,该程序要求进行保龄球比赛。一旦你问有多少玩家,每个玩家得到 2 次投掷以击倒 10 个瓶(由随机数模拟)。如果你第一次击倒他们,那么你得到 20 分,如果你第二次得到 15 分,除此之外的分数 = 投掷 1 + 投掷 2。
对我来说,棘手的部分是让每个玩家交替帧(2 次投掷 = 1 帧,每个玩家最多 10 帧),同时程序会跟踪每个人的得分!我以为我有这个,但随机数只是加起来,把输出放在底部
import java.util.Scanner;
public class Bowling {
public static void main(String [] args){
Scanner input = new Scanner (System.in);
Game aNew = new Game();
int player;
int i;
int j;
int nPlay;
System.out.print("How many players are there?: ");
nPlay = input.nextInt();
for (j = 1; j<= 10; j++) {
for (i = 1; i <= nPlay; i++ ){
player = i; // i tried player i = new Player() but get error "value
aNew.getScore(player); // already used in scope""
}
}
游戏类:
import java.lang.Math;
public class Game {
int score = 0;
int player;
int ran1;
int ran2;
public Game() {
}
public int getScore(int player){
ran1 = (int) (9 * Math.random());
ran2 = (int) (((10 - ran1)) * Math.random());
if (ran1 == 10){
score += 20;
} else if (ran1 + ran2 == 10){
score += 15;
} else {
score += ran1 + ran2;
} System.out.println("Player " + player + " score is: " + score + "\n");
System.out.println("ran1: " + ran1 + " ran2: " + ran2);
return score;
}
}
球员等级:
public class Player {
/** this class is not doing anything, however i would like for an object to store a score for every player to keep track if that is possible?*/
int score;
public Player (){
int score;
}
}
输出:(怀疑每次最后一个玩家的最高点,否则我永远不会注意到它不起作用!)
How many players are there?: 2
Player 1 score is: 2
ran1: 1 ran2: 1
Player 2 score is: 11
ran1: 8 ran2: 1
Player 1 score is: 16
ran1: 5 ran2: 0
Player 2 score is: 21
ran1: 4 ran2: 1
Player 1 score is: 29
ran1: 8 ran2: 0
Player 2 score is: 35
ran1: 5 ran2: 1
Player 1 score is: 40
ran1: 3 ran2: 2
Player 2 score is: 47
ran1: 6 ran2: 1
Player 1 score is: 56
ran1: 8 ran2: 1
Player 2 score is: 61
ran1: 5 ran2: 0
Player 1 score is: 68
ran1: 7 ran2: 0
Player 2 score is: 77
ran1: 8 ran2: 1
Player 1 score is: 85
ran1: 4 ran2: 4
Player 2 score is: 90
ran1: 4 ran2: 1
Player 1 score is: 97
ran1: 7 ran2: 0
Player 2 score is: 103
ran1: 3 ran2: 3
Player 1 score is: 107
ran1: 4 ran2: 0
Player 2 score is: 114
ran1: 3 ran2: 4
Player 1 score is: 121
ran1: 7 ran2: 0
Player 2 score is: 125
ran1: 0 ran2: 4