0

我有一个涉及 EnumSet 和 Enum 的问题。更具体地说,关于将它们作为参数传递并从方法中返回它们。

基本上,我希望一个类中的一个方法创建一个 Enum 的某些元素的 EnumSet,而不是希望所述类将 EnumSet 传递给另一个类,其中新类使用逻辑从集合中选择一个特定元素并将其传递给第三类,执行一些期望的动作。如果这太令人困惑,我试图在下面提供一些上下文。

我正在尝试制作一个包含多个类的二十一点模拟器程序。与我的问题相关的类是庄家、玩家和手牌。

我遇到的问题是我希望 Hand 类有一个选项枚举,例如

enum Options { SPLIT, DOUBLE, HIT, STAND}

然后我要手检查手牌的内容,即 ArrayList 牌(数组列表中的整数值仅代表牌的等级,花色不重要),以确定 Player 对象有哪些选项可用。

我想要 Hand 类中的 getPlayerOptions() 方法来确定可能的选项并创建一个

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

包含可用选项。

我完全知道 Hand 类如何执行逻辑并创建我需要的 EnumSet,但我很难找出如何将“EnumSet availableOptions”作为参数发送到播放器类,而不是让播放器类运行 playerOption() 方法它将一个“选项”返回给经销商对象,​​经销商相应地发牌。

这只是一个没有任何逻辑的片段,但这是否适用于返回枚举集:

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;
    }
}
4

0 回答 0