Java控制台保龄球计分程序

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])}); } }

计算得分

下面的代码在用户或玩家完成输入保龄球得分后显示得分。用户输入的每个字符串都放置在其地址内,将字符串转换为对象整数值,并计算每个间隔值作为整数放置在每个数组地址内。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485