В основном я делаю игру в блэкджек, поэтому первое, что я сделал, это сделать объект «карта».Объявление объекта arraylist (java)
public class Card {
int number;
int suit;
public static final String[] NUMBERS = {null, null, "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King", "Ace"};
public static final String[] SUITS = {"Diamonds", "Clubs", "Spades", "Hearts"};
public Card(int number, int suit) {
this.number = number;
this.suit = suit;
}
@Override
public String toString() {
return NUMBERS[number] + " of " + SUITS[suit];
}
}
Следующая вещь, которую я сделал, сделать список массива карт, называемых cardlist, а затем что-то называется колода, которая является cardlist со стандартными картами:
import java.util.ArrayList;
public class CardList {
public String name;
public ArrayList<Card> cards;
public CardList(String name) {
this.name = name;
this.cards = new ArrayList<Card>();
}
public String getName() {
return name;
}
public Card getCard(int i) {
return cards.get(i);
}
public int howManyCards() {
return cards.size();
}
public void addCard(Card card) {
cards.add(card);
}
}
, а затем палуба:
public class Deck extends CardList {
public Deck(String name) {
super(name);
for (int i = 0; i < 4; i++) {
for (int j = 2; j < 15; j++) {
addCard(new Card(j,i));
}
}
}
}
В любом случае после этого я начал делать игру следующим образом:
import java.util.Scanner;
public class BlackJack {
public static String[] getNames(int players) {
System.out.println("What are the names of the players?");
String[] playerNames = new String[players];
Scanner input = new Scanner(System.in);
for (int i = 0; i < players; i++) {
playerNames[i] = input.next();
}
return playerNames;
}
public static int peoplePlaying() {
System.out.println("How many people are playing?");
Scanner input = new Scanner(System.in);
int players = input.nextInt();
return players;
}
public static void main(String[] args) {
int players = peoplePlaying();
String[] playerNames = getNames(players);
Deck deck = new Deck;
System.out.println(deck);
}
}
Вторая в последнюю строку - моя неудачная попытка объявить колоду, а затем использовать ее с остальной частью программы. Поскольку колода - это список массивов, я не знаю, правильно ли это объявить. Когда я создал объект Deck, я сделал его так, чтобы он просто нуждался в String в качестве его имени и уже сделал бы 52 карты, но я не уверен точно, как это работает, как вы можете сказать.
Любая помощь очень ценится благодаря
В качестве точки стиля подумайте об использовании перечисления для карточного костюма и значения карты в отличие от строковых массивов. – Makoto