| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | package com.company;import java.util.HashMap;import java.util.Map;import java.util.Random;/** * Класс реализующий колоду */public class Deck {    public final int CARD_COUNT = 52;    public Card Cards[] = new Card[CARD_COUNT];    Map<Integer, String> CardName = new HashMap<>();    /**     * Конструктор создает колоду карт     */    public Deck() {        for (int i = 0; i < CARD_COUNT; i++) {            Cards[i] = new Card();        }        Build();        CardName.put(2, "2");        CardName.put(3, "3");        CardName.put(4, "4");        CardName.put(5, "5");        CardName.put(6, "6");        CardName.put(7, "7");        CardName.put(8, "8");        CardName.put(9, "9");        CardName.put(10, "10");        CardName.put(11, "J");        CardName.put(12, "Q");        CardName.put(13, "K");        CardName.put(14, "A");    }    /**     * Метод генерирует колоду     */    public void Build() {        // Количество различных номиналов (для цикла от 2 до 14 включительно)        int denominationCount = (CARD_COUNT / 4) + 2;        // Счетчик всех карт (для прохода по массиву cards)        int cardCounter = 0;        // Цикл foreach (пройти по каджой масти)        for (Lear.NAME lear: Lear.NAME.values()) {            // Цикл по номиналам (от 2 до 14 включительно)            for (int j = 2; j < denominationCount; j++) {                // Записать текущую масть в карту с индексом cardCounter                Cards[cardCounter].Lear = lear;                // Записать текущий номинал в карту с индексом cardCounter                // и увеличить счетчик                Cards[cardCounter++].setDenomination(j);            }        }    }}
 |