conditions et boucle for pour le jeu solitaire
Bonjour,
Je souhaite réaliser le célèbre jeux de cartes Solitaire mais après de longue rechercher je ne trouve toujours pas de solution à mon problème.
Je créer une liste de de 52 Cartes et par la suite j'en prend au hasard pour les positionner sur le plateau de jeu au hasard en 7 colonnes (comme le jeu de base) avec dans la première une carte dans la seconde 2 cartes etc ...
je vérifie donc d'abord si la carte choisie au hasard n'as pas déjà été tirée au hasard histoire de ne pas avoir 2 fois la même mais lorsque une carte est déjà tirée la boucle for dans laquelle cette condition se trouve s'arrête mais je n'ai aucune erreur dans le log
le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| private void generate() {
for(int t = 1 ; t < 5 ; t++) {
for(int v = 1; v < 14; v++) {
cartes.add(new Cartes(t,v,0,0,false));
}
}
int num = 1;
boolean change = false;
for(int i = 0 ; i < num ; i++) {
if(change) {
i = 0;
change = false;
}
if(num == 8) {
break;
}
random = (int) (Math.random()*51);
if(!cartes.get(random).isPicked()) {
cartes.get(random).setColonne(num);
cartes.get(random).setPosition(i+1);
cartes.get(random).setPicked(true);
System.out.println(num);
if(i == num-1) {
num ++;
change = true;
}
}
if(cartes.get(random).isPicked()) {
while(cartes.get(random).isPicked()) {
if(random < 51) {
random ++;
}
else {
random = 0;
}
}
cartes.get(random).setColonne(num);
cartes.get(random).setPosition(i+1);
cartes.get(random).setPicked(true);
}
}
} |
merci de votre aide :mrgreen: