Я играю в блэкджек в java и создал метод, который создает колоду карт, а затем метод, который перетасовывает колоду.Мне нужен список карт массива и другие функции, например, метод, который тянет карты, но каждый раз, когда я вызываю метод, он тасует новую колоду.Я хочу этого избежать, но я не знаю, как ...
Эти методы определяют и перетасовывают колоду:
public static String[] kortlek() {
String suit[] = { "S", "D", "C", "H" };
String rank[] = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J",
"Q", "K", "A" };
String[] deck = new String[52];
String[] shuffledDeck = new String[deck.length];
int i = 0;
for (i = 0; i < deck.length; i++) {
deck[i] = rank[i % 13] + suit[i / 13];
} // End of for loop
deck = shuffledDeck(deck);
return deck;
}
public static String[] shuffledDeck(String [] shuffledDeck) {
for (int i = 0; i < shuffledDeck.length; i++) {
int index = (int) (Math.random() * shuffledDeck.length);
String temp = shuffledDeck[i];
shuffledDeck[i] = shuffledDeck[index];
shuffledDeck[index] = temp;
} // End of loop
for (int i = 0; i < shuffledDeck.length; i++) {
System.out.println(shuffledDeck[i]);
}
return shuffledDeck;
}
Этот метод с помощью метода actionListener кнопки тянет карту:
public static String drawCard(int wichCard) {
String[] deck = kortlek();
String drawnCard = deck[0 + wichCard];
System.out.println("The drawn card is: " + drawnCard);
return drawnCard;
}
actionListener:
if (event.getSource() == drawCard) {
counter++;
String drawnCard = cardDeck.drawCard(counter);
player.setText("The drawn card is: " + drawnCard);
}
Вывод будет:
first draw:
1 2 3 4 5
drawn card = 1
2nd draw:
5 3 2 1 4
drawn card = 3
3rd draw:
5 2 4 1 3
drawn card = 4
Я хочу, чтобы список не рандомизировался каждый раз, когда я беру карту.Как?
Заранее спасибо!