Java控制台保龄球计分程序是一个实用的工具,它可以帮助跟踪保龄球游戏中的得分,并在每次输入得分时显示所有可能的场景。这个Java程序不仅可以作为一个独立的应用程序运行,还可以作为一个插件集成到Java程序中,因为它可以在数组结构中填充数据并计算存储的变量。
Java保龄球游戏允许添加得分,并跟踪玩家在每次击倒保龄球瓶时的得分。第一次投球得分显示第一次投球击倒的瓶子数量,第二次投球得分显示第二次投球击倒的瓶子数量,假设使用了第二次投球。总得分将显示直到包括可能的第10个额外球的总得分。
要使用代码,需要一个Java编辑器,如TextPad,以及安装在计算机上的Java JDK。使用Java类可以在安装了JDK的主要操作系统上运行。完成安装要求后,运行Java代码应该很简单。然而,如果想创建一个bat或exe文件来运行类文件,这是可以做到的。使用文本编辑器输入以下代码,并将其保存为Bowling.bat。
echo "Launching My Java Bowling game Score Board"
java -jar "location of java file (Bowling.java)"
以下Java代码显示了Java游戏的菜单(参考注释):
public class Main {
public static void main(String[] args) {
int[] frme = new int[10];
int[][] allfrme = new int[2][12];
String s;
do {
System.out.println("\n\t Welcome to Java Bowling Console Gaming Score Board ");
for (int l1 = 0; l1 < 10; l1++) frme[l1] = 0;
for (int l2 = 0; l2 < 12; l2++) allfrme[0][l2] = allfrme[1][l2] = 0;
for (int i = 0; i < 10; i++) {
boolean chk = false;
int Pins = 0;
while (!chk) {
System.out.printf("\n\n\t FRAME %2d ", new Object[]{Integer.valueOf(i + 1)});
System.out.printf("\n\t Ball 1: ");
Pins = keyIn.nextInt();
if (Pins <= 10 && Pins >= 0) {
allfrme[0][i] = Pins;
chk = true;
}
}
if (Pins == 10) {
System.out.println("\n\t\t\tExcelent, Strike!!");
continue;
}
chk = false;
while (!chk) {
System.out.printf("\n\t Ball 2: ");
Pins = keyIn.nextInt();
if (Pins <= 10 && Pins >= 0) {
allfrme[1][i] = Pins;
chk = true;
}
}
}
calculateScores();
System.out.print("\n\n\t\t\tPlay more (Y/N)? ");
s = keyIn.next();
String s1 = keyIn.nextLine();
} while (s.toUpperCase().charAt(0) == 'Y');
}
public static void calculateScores() {
for (int i = 0; i < 10; i++) {
if (allfrme[0][i] == 10) {
frme[i] = frme[i - 1] + 10 + (i + 1 < 10 ? allfrme[0][i + 1] : 0) + (i + 2 < 10 ? allfrme[1][i + 1] : 0);
} else {
frme[i] = frme[i - 1] + allfrme[0][i] + allfrme[1][i];
}
}
displayScores();
}
public static void displayScores() {
System.out.print("\n\n\t FRAME");
for (int k = 1; k < 11; k++) System.out.printf("%4d", new Object[]{Integer.valueOf(k)});
if (allfrme[0][9] == 10) {
if (allfrme[0][10] == 10) System.out.print("XTR1 XTR2");
else System.out.print("EXTRA");
} else if (allfrme[0][9] + allfrme[1][9] == 10) {
System.out.print("XTRA");
}
System.out.print("\n\n\tBall 1 ");
for (int l = 0; l < 10; l++) System.out.printf("%4d", new Object[]{Integer.valueOf(allfrme[0][l])});
if (allfrme[0][9] == 10) {
if (allfrme[0][10] == 10) System.out.printf("%4d%4d", new Object[]{Integer.valueOf(allfrme[0][10]), Integer.valueOf(allfrme[0][11])});
else System.out.printf("%4d", new Object[]{Integer.valueOf(allfrme[0][10])});
} else if (allfrme[0][9] + allfrme[1][9] == 10) {
System.out.printf("%4d", new Object[]{Integer.valueOf(allfrme[0][10])});
}
System.out.print("\n\tBall 2 ");
for (int i1 = 0; i1 < 10; i1++) System.out.printf("%4d", new Object[]{Integer.valueOf(allfrme[1][i1])});
if (allfrme[0][9] == 10 && allfrme[0][10] != 10) System.out.printf("%4d", new Object[]{Integer.valueOf(allfrme[1][10])});
System.out.print("\n\n\t SCORE");
for (int j1 = 0; j1 < 10; j1++) System.out.printf("%4d", new Object[]{Integer.valueOf(frme[j1])});
}
}
下面的代码在用户或玩家完成输入保龄球得分后显示得分。用户输入的每个字符串都放置在其地址内,将字符串转换为对象整数值,并计算每个间隔值作为整数放置在每个数组地址内。