Мне нужно вызвать метод void перед вызовом другого метода.invoke void method
У меня есть этот метод
public void shuffle() {
various = new Random();
currentCard = 0;
currentTotal1 = 0;
currentTotal2 = 0;
for (int first = 0; first < deckOfCards.length; first++) {
int second = various.nextInt(number_cards);
Card temp = deckOfCards[first];
deckOfCards[first] = deckOfCards[second];
deckOfCards[second] = temp;
}
}
И в другом классе у меня есть:
public class GameRules {
final deck myDeckOfCards = new deck();
myDeckOfCards.shuffle(); //error here
// first
public ImageIcon GameRules1() {
return myDeckOfCards.giveCardPlayer1().getImage();
}
Основная проблема заключается в том, что мне нужно сделать перетасовать в колоде карт, прежде чем показать карту. Без метода тасования порядок карт является последовательным
Любая идея? Если я помещаю метод внутри public ImageIcon GameRules1()
, это не дает ошибки, но мне нужно перетасовать все карты перед игрой, не раньше, чем каждый метод карты.
благодарит
спасибо за ваш ответ. Если я сделаю то, что вы предлагаете, у меня все еще будет такая же проблема. Как я могу назвать метод GameRules(), я делаю что-то вроде этого: final JLabel test2 = new JLabel (test00.GameRules1()); ?? вот в чем проблема – anvd
@Fel. У вас действительно не должно быть 'метода'' GameRules() ', который возвращает изображение. Вы должны переименовать этот метод в 'getImage' или что-то в этом роде. Затем, когда вы создадите GameRules с помощью consturctor и назовите 'getImage', колода будет перетасована. (См. Мое редактирование.) – jjnguy
Я решил проблему с { myDeckOfCards.shuffle(); } спасибо – anvd