Poker Simulator Design Log

From CSSEMediaWiki
Revision as of 00:17, 3 September 2008 by Elliot Fisher (Talk | contribs)
Jump to: navigation, search

Poker Simulator Design

For my design study I have chosen to create a poker simulator. Cards are dealt to a number of players around a table, and the winner of the hand determined. The game can continue for an arbitrary number of hands. Initially there will be no player input or AI, but I will leave the design open for extending it to a full blown poker game. The two variants of poker I am initially implementing are Texas Hold'em and 5 Card Draw, but I am leaving the design open for other variants, eg Omaha, 5 Card Stud etc.

I am also looking at implementing different limits - the most common is no limit where you can bet however much you like at any time, even your entire chip stack. There are also limit games where bets and raises are limited to a fixed amount, and pot limit where bets are limited to the size of the pot. I might also allow for different poker games - cash tables and tournaments. So far I think my design can allow for both.

Here is my initial (incomplete) class diagram. Right now it seems to be a mess of compositions. I'm wondering if this idea will be any good for showing design patterns, hmmm.

Original attempt

I have greatly improved on the original design, here is take 2:

Poker Class Diamgram 2.png