2011-07-07 8 views
0

春のアプリケーションで何かの状態を維持することに関する理論がちょっとしたことを探しています。スプリングアプリケーションで状態を維持していますか?

たとえば、Webアプリケーションとして実行されているポーカーゲームを想像してみてください。考慮すべき事項がいくつかあります。プレイヤーが手に持っているポーカーチップの量、手に関わっているポーカーチップの数、プレイヤーごとのカードの価値、共有されているコミュニティカードの量などを維持するなど。ベット額、ポット総額など

他に考慮すべきことは、プレイヤーが折り畳まれる前に行動する必要がある時間です。

ゲームループを実行するロジックに関係なく、何がポーカーの手の状態と、春を使ったポーカーの完全なゲームの状態を記録するのに最適な方法でしょうか。

ありがとうございます。

答えて

1

ウェブアプリケーションのデータを追跡するのと同じ方法です。 DAOインターフェイスを作成し、実装を作成します。例えば;

public class PokerHand { 
    //just a POJO 
} 

public interface PokerHandDAO { 
    public PokerHand getPokerHand(long id); 
    public void updatePokerHand(PokerHand hand); 
} 

public class InMenoryPokerHandDAO implements PokerHandDAO { 
    private static Map<Long,PokerHand> hands = new HashMap<Long,PokerHand>(); 

    @Override 
    public PokerHand getPokerHand(long id) { 
    return hands.get(id); 
    } 

    @Override 
    public void updatePokerHand(PokerHand hand) { 
    hands.put(hand.getId(), hand); 
    } 
} 

プレイヤーが変更のために行動を起こすたびに、Webアプリにリクエストを行います。あなたはいくつかの事柄の状態を把握しなければならないでしょうし、明らかにプレイヤー間の状態を同期させることについて心配する必要があります。

関連する問題