当前位置: 首页 > 知识库问答 >
问题:

用Java编写宾果游戏遇到麻烦

石苏燕
2023-03-14

我是Java新手,我得到了一个项目,我需要创建一个宾果游戏,这意味着要在cmd/终端中玩。我有麻烦替换2D数组中的数字(如果玩家输入匹配2张卡中的任何一张,它被替换为“xx”,然后继续与标记为“xx”的数字的游戏),并检查用户是否在一行中获得了所有的数字,然后沿着“宾果,玩家”名称“赢了!”的线显示一些东西(将有2个玩家卡只)。我也想不出如何阻止用户输入已经划掉/重复的数字。

import java.util.Scanner;
public class demno {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int call, r = 0, c = 0;   /* For the player to input bingo numbers. 
                            To declare row and column globally for later use. */

        // Initiate card 1 numbers
        int[][] card1 = { {24, 2,  8, 1,  25},
                          {12, 16, 7, 17, 15},
                          {5, 6, 20, 19, 13 },
                          {14, 23, 22, 4, 3 },
                          {10, 18, 11, 21, 9} };
        // Initiate card 2 numbers
        int[][] card2 = { {24, 21, 17, 15, 6},
                          {10, 3, 8, 18, 20  },
                          {14, 7, 16, 12, 5  },
                          {25, 23, 13, 19, 11},
                          {22, 4, 9, 1, 2    } };


        // Player 1's card
        System.out.println("Player 1's card:");
        for (r=0; r<card1.length; r++) {
            for(c=0;c<card1.length; c++){
                if (10 > card1[r][c] ){
                    System.out.print(" "+ card1[r][c] +" ");
                }else {
                    System.out.print(card1[r][c] + " ");
                }
            }
            System.out.println("");
        }
        // End Player 1's card
        
        System.out.print('\n');
        // Player 2's card
        System.out.println("Player 2's card:");
        for (r=0; r<card2.length; r++) {
            for(c=0;c<card2.length; c++){
                if (10 > card2[r][c]) {
                    System.out.print(" " + card2[r][c] + " ");
                }else {
                    System.out.print(card2[r][c] + " ");
                }
            }
            System.out.println("");
        }
        // End Player 2's card

        // User input for bingo number
        System.out.println();
        System.out.print("Game Host call (0 to exit): ");
            call = sc.nextInt();
            sc.close();
        // Checks user input for errors or if player want's to exit.
        if (call >25) {
            System.out.println("The number must be between 1 to 25, please call again! ");
            System.out.print("Game Host call (0 to exit): ");
            call = sc.nextInt();
            sc.close();
        }else if (call == 0) {
            System.exit(0);
        }

        }

    }

共有1个答案

阎自怡
2023-03-14

可以用array[0]=“xx”替换数组中的值。因此,在您的示例中,它将是card2[r][c]=“xx”

为了确保每个数字都使用一次,一个简单的解决方案是ArrayList。所以你可以用它

List<Integer> usedNumbers = new ArrayList<Integer>();

//  when number was used
usedNumbers.add(call);

//check if already used
boolean alreadyUsed = usedNumbers.contains(call);

Tipp:

  for (r=0; r<card2.length; r++) {

        for(c=0;c<card2.length; c++){
  for (r=0; r<card2.length; r++) {

        for(c=0;c<card2[r].length; c++){

如果点变量之一==5,打印赢家并停止应用程序

 类似资料:
  • 本文向大家介绍Java编写掷骰子游戏,包括了Java编写掷骰子游戏的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接奔主题。 **多线程&&观察者模式 题目要求:《掷骰子》窗体小游戏,在该游戏中,玩家初始拥有1000的金钱,每次输入押大还是押小,以及下注金额,随机3个骰子的点数,如果3个骰子的总点数小于等于9,则开小,否则开大,然后判断玩家是否押对,如果未押对则扣除下注金额,如果押对则奖

  • 本文向大家介绍Java编写的24点纸牌游戏,包括了Java编写的24点纸牌游戏的使用技巧和注意事项,需要的朋友参考一下 任意4个1-13数字,加减乘除计算24点。 实现原理: 1)排列组合4个数字 2)计算每次排列组合的可能性 Cal24.java Combination.java 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 问题内容: 我正在研究Java中的游戏编程,看是否可行。进行搜索时,我发现了一些关于Java2D的旧参考资料,Project Darkstar(Sun的MMO服务器)和一些有关Java游戏编程的书籍。但是很多信息似乎已经有好几年了。 所以我要问的问题是,有人在Java SE 1.5或更高版本中创建游戏吗? 如果是这样,将使用什么框架,是否有最佳实践或库? 问题答案: 有一个叫做jMonkey(ht

  • 本文向大家介绍Javascript编写2048小游戏,包括了Javascript编写2048小游戏的使用技巧和注意事项,需要的朋友参考一下   去年2048很火, 本来我也没玩过, 同事说如果用JS写2048 只要100多行代码;   今天试了一下, 逻辑也不复杂, 主要是数据构造函数上的数据的各种操作, 然后通过重新渲染DOM实现界面的更新, 整体不复杂, JS,css,和HTML合起来就300

  • 问题内容: 这不是让我输入我的名字,但是年龄确实可以。我知道我可以更改语句的顺序,但是还有另一种方法可以做到吗? 问题答案: 您的问题是,下一个int不考虑输入在您的姓名部分中的换行符。因此,名称返回为空白。 您可以通过两种方式更改代码: 要么 我个人喜欢第二种方式。

  • 问题内容: -edit2-3小时后,仍然有相同的问题。我正在使用noinstall存档软件包。-编辑-也许有人可以告诉我一种检查表是否存在的更好方法? 我的函数库中有一个函数来检查是否存在一个表,该表过去我曾问过要怎么做。 我删除了数据库并再次创建了它。我的代码未正确创建表。调试后,我决定编写以下内容。 很奇怪… mydb被删除并再次创建(我写了,应该消失了吗?)。让我们找出存在的东西 我不仅不知