Java处理洗牌二维数组没有类



学校给了我一个作业。我用java制作的记忆卡游戏在处理中。我不允许使用类。我已经创建了游戏并且它可以运行,但是现在我必须添加死亡卡牌。

我使用一个2d数组来加载卡片。我已经把死亡牌放到了数组的第三次迭代中。

现在的问题是,当我试图创建一个洗牌函数时,它只会在自己的迭代中洗牌。所以所有的死亡牌都会在最后出现。

有人有什么想法吗?


for (int i=0; i<3; i++) {
if (i == 0 || i == 1) {
for (int j=0; j<aantalSetjes; j++) {
y[i][j] = yKaart;
x[i][j] = xKaart;
gekozenKaart[i][j] = teller;
teller +=1;
if (teller > aantalSetjes) {
teller = 1;
}
if (xKaart<=(kaartBreedte * getSpeelveldBreedteKeer())-kaartBreedte) {
xKaart += kaartBreedte;
} else if (xKaart>=(kaartBreedte * getSpeelveldBreedteKeer())-kaartBreedte) {
xKaart=15;
yKaart += kaartLengte;
}
}
} else if (i == 2) {
for (int j=0; j<getAantalDoodsKaarten(); j++) {
y[i-1][j+aantalSetjes] = yKaart;
x[i-1][j+aantalSetjes] = xKaart;
gekozenKaart[i][j] = teller;
teller +=1;
if (teller > getAantalDoodsKaarten()) {
teller = 1;
}
if (xKaart<=(kaartBreedte * getSpeelveldBreedteKeer())-kaartBreedte) {
xKaart += kaartBreedte;
} else if (xKaart>=(kaartBreedte * getSpeelveldBreedteKeer())-kaartBreedte) {
xKaart=15;
yKaart += kaartLengte;
}
}
}
}
shuffle()
}
void shuffle() {
int tijdelijk = 0;
int random = 0;
for (int i = 0; i < 3; i++) {
if (i == 0 || i == 1) {
for (int j = 0; j < aantalSetjes; j++) {
random = int(random(0, aantalSetjes));
tijdelijk = gekozenKaart[i][j];
gekozenKaart[i][j] = gekozenKaart[i][random];
gekozenKaart[i][random] = tijdelijk;
}
} else if (i == 2) {
for (int j = 0; j < getAantalDoodsKaarten(); j++) {
random = int(random(0, getAantalDoodsKaarten()));
tijdelijk = gekozenKaart[i][j];
gekozenKaart[i][j] = gekozenKaart[i][random];
gekozenKaart[i][random] = tijdelijk;
}
}
}
}

如果这是经典的存储卡游戏,你很可能不希望数据在2d数组中组织。先把它们组合成一个更大的一维数组然后再洗牌。然后按你的意思把它们混合在一起。

最新更新