Метод, возвращающий перечисление

У меня есть вопрос, касающийся EnumSet и Enum. Точнее, о передаче их в качестве параметров и возврате их из методов.

По сути, я хочу, чтобы метод в одном классе создал EnumSet для определенных элементов Enum, а не для того, чтобы указанный класс передавал EnumSet другому классу, где новый класс использует логику для выбора одного конкретного элемента из набора и передачи его в третий класс, который выполняет желаемое действие. Если это слишком запутанно, я постарался представить некоторый контекст ниже.

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

У меня проблема в том, что я хочу, чтобы класс Hand имел перечисление опций, например

enum Options { SPLIT, DOUBLE, HIT, STAND}

Затем я хочу, чтобы рука проверила содержимое руки, которая представляет собой карты ArrayList (значение Integer в списке массивов просто представляет ранг карт, масть не важна), чтобы определить, какие опции доступен для объекта Player.

Я хотел бы получить метод getPlayerOptions() в классе Hand, который определяет возможные параметры и создает

EnumSet<Options> availableOptions = EnumSet.of(.....)

содержащий доступные варианты.

Я полностью знаю, как класс Hand может выполнять логику и создавать нужный мне EnumSet, но я изо всех сил пытаюсь выяснить, как отправить "EnumSet availableOptions" в класс проигрывателя в качестве параметра и как заставить класс проигрывателя запустить метод playerOption() который возвращает одну "опцию" объекту Dealer, где дилер сдает карты соответственно.

это просто фрагмент без какой-либо логики, но он работает для возврата набора enum:

import java.util.EnumSet;

public class Hand {  

    enum Options {  
        SPLIT, FREEDOUBLE, DOUBLE, HIT, STAND  
    }  

    public EnumSet getOptions() {  
        EnumSet<Options> playerOptions = EnumSet.of(Options.STAND);  
        return playerOptions;
    }
}

0 ответов

Другие вопросы по тегам