我正在生成一个 ArrayMap 来玩纸牌游戏,我想洗牌 arrayMap 以便我可以毫无问题地按顺序选择,有一些方法可以帮助我,比如 Arraylists 存在的 .shuffle()。
public ArrayMap<Integer,Carta> carte=new ArrayMap<>(dimensioneMazzo);
for(int i=0;i<4;i++){
for(int j=1;j<=10;j++){
switch(i){
case 0:
carte.put(cartePresenti,new Carta(j,Semi.Denari,false,false));
break;
case 1:
carte.put(cartePresenti,new Carta(j,Semi.Bastoni,false,false));
break;
case 2:
carte.put(cartePresenti,new Carta(j,Semi.Coppe,false,false));
break;
case 3:
carte.put(cartePresenti,new Carta(j,Semi.Spade,false,false));
break;
}
this.cartePresenti=cartePresenti+1;
}
}
如果没有方法我怎样才能随机生成卡片?
最佳答案
假设 cartePresenti
从零开始。这应该有效:
Random r = new Random();
int n = carte.size();
for (int i = n - 1; i > 0; i--) {
int j = r.nextInt(i + 1);
Carta temp = carte.get(i);
carte.put(i, carte.get(j));
carte.put(j, temp);
}
关于java - 如何在 android 上打乱 ArrayMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55706453/