gpt4 book ai didi

java - 卡牌游戏与处理的 war

转载 作者:行者123 更新时间:2023-12-01 23:26:58 31 4
gpt4 key购买 nike

好吧,我的类(class)正在研究纸牌游戏 war ,但我必须使用处理,并且我需要创建一个非重复随机数生成器才能使其工作。我知道在常规 IDE 中我可以只使用 Collection.shuffle 但处理并不需要任何人知道一种生成随机非重复数字的方法

void mousePressed() { 
imageMode(CENTER);
isDraw = true;
isDraw2 = true;
if(isDraw){
int n = int(random(card.length));
/// I should make this an array but Collection.shuffle
/// doesn't work
for (int i = 0; i < 14; i++) {
if (n == i) {
Card[i] = false;
println(n+1+" human "+Card[i]);
}

if (Card[n]) {
image(card[n], width/2, height/2-120);
}
}

最佳答案

导入java.util.Random

import java.util.Random;

这段代码将获得 0 到 100 之间的随机值。

Random random = new Random();
random.nextInt(100); //Get random between 0 and 100.

建议您在方法外部创建一个 Random,如果需要多次调用该方法,则该方法会使用它。

如果您不想生成重复值,请将它们初始化到列表中。

List<Integer> values = new ArrayList<Integer>();
//fill with 0 to 10 elements.

然后调用方法来获取随机数

Integer rand = random.nextInt(values.size());
Integer cardId = values.get(rand);
values.remove(rand);

上面的代码片段将从列表中获取预初始化值并将其删除,这样它就不会再次“生成”。

关于java - 卡牌游戏与处理的 war ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19841707/

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