【发布时间】:2016-06-17 09:09:16
【问题描述】:
我有这个家庭作业,我们的老师要我们用java创建纸牌游戏“战争”。其中很大一部分是将 52 张不同的牌洗入两名玩家手中。在洗牌时,我将不胜感激。我是一个没有经验的编码员,其他发布的对我来说没有任何意义。 我的代码:
package shuffle;
import java.util.Random;
public class SHUFFLE {
public static void main(String[] args) {
shuffle();
}
public static void shuffle() {
Random r = new Random();
int[] hand1 = new int[26];
int[] hand2 = new int[26];
int i = 1, rand, rand2;
int o = 1;
do {
System.out.println("Top");
rand = r.nextInt(52) + 1;
rand2 = r.nextInt(2) + 1;
System.out.println("number generated: "+rand);
System.out.println("sector: " + rand2);
if (rand2 == 1) {
if (rand <= 52) {
while (hand1[o] > 0) {
if (hand1[o] == rand) {
} else {
hand1[o]--;
}
}
while (hand2[i] > 0) {
if (hand2[i] == rand) {
} else {
hand2[i]--;
}
hand1[o] = rand;
o++;
}
}
}
if (rand2 == 2) {
if (rand <= 52) {
while (hand1[o] > 0) {
if (hand1[o] == rand) {
} else {
hand1[o]--;
}
}
while (hand2[i] > 0) {
if (hand2[i] == rand) {
} else {
hand2[i]--;
}
hand2[i] = rand;
i++;
}
}
}
}while(hand1[o] < 26 && hand2[i] < 26);
}
}
【问题讨论】:
-
请详细说明您的问题,您想回答什么?
-
按照stackoverflow.com/questions/24520782/java-shuffle-card-deck创建一个shuffled Deck,然后分成两个havles
-
我看了一下,但它超出了我的理解范围,我无法理解发生了什么
-
@hydregion 你要做的不仅仅是看看它。运行代码,研究它,调试它等等。
-
使用 Arraylist 而不是数组。使用
Collections.shuffle。分布到两个子列表中。问题解决了吗?
标签: java