0

EnumSet と Enum に関する質問があります。より具体的には、それらをパラメーターとして渡し、メソッドから返すことについて。

基本的に、あるクラスのメソッドにEnumの特定の要素のEnumSetを作成させたいのですが、そのクラスがEnumSetを別のクラスに渡し、新しいクラスがロジックを使用してセットから特定の要素を1つ選択し、それを必要なアクションを実行する 3 番目のクラス。それがあまりにも紛らわしい場合は、以下にいくつかのコンテキストを提供しようとしました.

いくつかのクラスを持つブラックジャック シミュレーター プログラムを作成しようとしています。私の質問に関連するクラスは、ディーラー、プレイヤー、およびハンドです。

私が抱えている問題は、Hand クラスにオプションの列挙を持たせたいということです

enum Options { SPLIT, DOUBLE, HIT, STAND}

次に、ArrayList カード (配列リストの Integer 値は単にカードのランクを表します。スーツは重要ではありません) であるハンドの内容を調べて、Player オブジェクトが使用できるオプションを判断します。

可能なオプションを決定し、

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

利用可能なオプションが含まれています。

Hand クラスがロジックを実行し、必要な EnumSet を作成する方法を完全に知っていますが、「EnumSet availableOptions」をパラメーターとしてプレーヤー クラスに送信し、プレーヤー クラスに playerOption() メソッドを実行させる方法を見つけるのに苦労しています。これは、ディーラーがそれに応じてカードを配るディーラー オブジェクトに 1 つの「オプション」を返します。

これはロジックのない単なるスニペットですが、列挙型セットを返すためにこれを行います:

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