gpt4 book ai didi

java - Java 中的宾果纸牌游戏

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:17:03 26 4
gpt4 key购买 nike

我用 Java 为我的宾果游戏创建了两个方法。一种方法是创建一个新的棋盘,根据宾果规则 (1-75),用整数填充宾果棋盘。我的第二种方法生成范围为 1 - 75 的随机数。

public static int drawNum(){
Random rand = new Random();
int num = rand.nextInt(75)+1;
return num;
}

public static void bingoCard(){


int [][]card=new int [5][5];
ArrayList<Integer> alreadyUsed = new ArrayList<Integer>();
boolean valid = false;
int tmp = 0;

for(int i = 0; i <= 4; i++){
for(int row = 0; row < card.length; row++){
while(!valid){
tmp = (int)(Math.random() * 15) + 1 + 15 * i;
if(!alreadyUsed.contains(tmp)){
valid = true;
alreadyUsed.add(tmp);
}
}
card[row][i] = tmp;
valid = false;
}
}
card[2][2] = 0;

//create array to make title.
String title []={"B","I","N","G","O"};

for(int i=0;i<title.length;i++){
System.out.print(title[i]+ "\t");
}

System.out.println();

for(int row=0;row<card.length;row++){
for(int col=0;col<card[row].length;col++){
System.out.print(card[row][col]+ "\t");
}
System.out.println();
}
}

我需要帮助的是,如何检查 drawNum() 方法是否对应于我的 bingoCard() 数组中存储的任何值?如果是,则打印出一个填充了整数的新数组。如果满足宾果游戏的条件,那么您就赢了。

我希望我不会让它听起来像是我希望您为我做这件事,但我对如何开始编写该部分的代码感到困惑。谢谢。

最佳答案

这是我的建议 - 立即学习面向对象编程

我看到您正在使用 JDK 中提供的对象,那么为什么不学习制作自己的对象呢?

使用以下方法(-)和成员(+)创建两个类(PS。这不是正式的代码文档方式)

BingoCard
+list of numbers on card
-reset() : gets new numbers for this card
-test(BingoDrawer) : Tests to see if this card won on this drawing
-toString() : returns a String representation of this card

BingoDrawer
+list of numbers drawn
-reset() : draws new numbers
-hasNumber(int number) : tests if this number was drawn
-toString() : returns a String representation of this drawing

还有一个建议

  • 与其记录你用过的东西,不如记录你没用过的东西,这会让事情变得容易得多,因为你可以从该列表中随机选择东西。与您当前的操作不同,您当前的操作是凭空选择(一个逻辑数字)并希望(这会导致问题)这不是碰撞

如果你按照我的建议你可以写这样的代码

public static void main(String[] args) {
BingoCard bc = new BingoCard();
BingoDrawer bd = new BingoDrawer();
while(thePlayerWantsToPlay()) { //function to be defined by you
bc.reset();
bd.reset();
System.out.println(bc);
System.out.println(bd);
System.out.println(bc.test(bd));
}
}

您可以更进一步,创建一个 BingoGame 类,然后执行我在 main 中所做的操作,然后创建一个 BingoGame 实例> 并在对象上调用一些 start 方法。

关于java - Java 中的宾果纸牌游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18387760/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com