Я работаю над карточной игрой и даю пользователям возможность вытягивать, переворачивать или разыгрывать карту. Какой код для разыгрывания карты

#java

#java

Вопрос:

 switch(answer1){
     case "draw":
        player1.add(deck.get(0));
        deck.remove(0);
        break;
     case "flip":
        battlefield = deck.get(0);
        deck.remove(0);
        break;
     case "play":
}//End Switch
  

// Это переключатель номер 1. В игре участвуют 4 игрока, но код будет одинаковым для всех 4 игроков.

Комментарии:

1. Что значит играть? Объясните, как это должно работать 🙂

2. Играть — это значит разыгрывать карту, которая у вас есть на руке. Карты, которые вам раздали. Допустим, у меня в колоде 5 пик, и я хочу разыграть эту карту. Затем я хочу знать, как это закодировать, выбрать эту карту и «разыграть ее».

3. Итак, играть означает брать карту из рук игрока и помещать ее в поле битвы?

4. Это правильно! 🙂

Ответ №1:

Во-первых, было бы неплохо прислать нам ваш полный код. Итак, я собираюсь предположить, что player1 и deck являются объектом Arraylist. Я также предполагаю, что их коллекция представляет собой карту типа A. Во-вторых, вы действительно собираетесь копировать свой switch для 4 игроков?

Вы должны рассказать нам более конкретно, что вы подразумеваете под «игрой». Куда делась карта? как это влияет на игру?

В качестве других улучшений вашего кода я предлагаю вам: — Использовать Stack вместо и ArrayList для колоды — Создать коллекцию игроков, чтобы вы могли расширить ее — Включить ваш switch в цикл, чтобы использовать его для всех игроков

Вы можете начать с чего-то вроде этого:

 Card battlefield;
String answer;
Stack<Card> deck;
ArrayList<ArrayList<Card>> players = new ArrayList<ArrayList<Card>>;
for (int i=0; i<4;   i)
    joueurs.add(new ArrayList<Card>);

// initilize var and process

for (ArrayList<Card> palyer : players) {
    answer = getAnswer();
    switch(answer){
    case "draw":
        player1.add(deck.pop());
    case "flip":
        battlefield = deck.pop();
    case "play":
        playCard(deck.pop());
    }//End Switch
}//end for