Программа карточной игры, которую я создаю, должна запрашивать у пользователя количество игроков и количество карт в каждой руке, затем перетасовать колоду, затем сдавать карты, а затем отображать карты в каждой руке игрока.Он покажет руки для всех игроков, если в колоде недостаточно карт (мы не можем сдать 10 карт по 7 карт из колоды из 52 карт).
Я создал класс Card, класс Deck, класс Hand и драйвер для запуска программы.Поскольку это назначение, я должен придерживаться данных правил, и поэтому мне разрешено использовать только массивы, а не списки массивов.Моя проблема в том, что я не могу понять, как печатать объекты Card внутри объекта Hand, внутри массива Hands.Существует также, вероятно, гораздо лучший способ сделать это, но я ограничен тем, что мне разрешено импортировать / использовать.Могу ли я получить некоторую помощь о том, где искать объекты печати во вложенных массивах?Я не могу использовать свой метод, написанный в классе Hand, для добавления карт в Hands в массиве из-за отсутствия имени объекта.
РЕДАКТИРОВАТЬ: у меня есть конструктор в классе Hand, создающий руку размером с переданную ему int.Путаница заключается в том, что когда я узнаю, сколько игроков действительно играют в игру от пользователя, я создаю массив типа Hand в драйвере, который заполняется новыми объектами Hand с использованием цикла.В этот момент я понятия не имею, как ссылаться на каждый отдельный объект руки, чтобы я мог напечатать содержимое, используя toString ().У них, похоже, нет имени.
Код для следования:
import java.util.Arrays;
import java.util.Scanner;
public class CardsDriver {
public static void main(String[] args)
{
Card c1 = new Card(); //create new card object
Scanner kb = new Scanner(System.in);
int cards;
int players;
System.out.print("How many players are in the game?");
players = Integer.parseInt(kb.nextLine());
System.out.print("\nHow many cards will be dealt to each player?");
cards = Integer.parseInt(kb.nextLine());
while ((cards * players) > 52)
{
System.out.print("There are not enough cards in the deck to deal " +
players + " hands of " + cards + " cards. try again.");
System.out.print("How many players are in the game?");
players = Integer.parseInt(kb.nextLine());
System.out.print("\nHow many cards will be dealt to each player?");
cards = Integer.parseInt(kb.nextLine());
}
Deck readyDeck = new Deck(); //create new deck
readyDeck.shuffleDeck(); //shuffle the newly built deck using Java.Util.Random
Hand[] playerHands= new Hand[players]; //create another array to hold all player hands
for(int index =0; index < playerHands.length; index++)
{
playerHands[index] = new Hand(cards); //create hand object for each player of the size input by the player
/*for (int index2 =0; index2<cards;index2++)
{
//fill each hand with cards using addcard somehow. i have no object name.
Hand.addCard(readyDeck.dealACard());
}*/
}
}