我是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);
}
}
}
可以用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被删除并再次创建(我写了,应该消失了吗?)。让我们找出存在的东西 我不仅不知