Coder Social home page Coder Social logo

python-poker-engine's People

Stargazers

 avatar

Watchers

 avatar  avatar

python-poker-engine's Issues

client: find / create card graphics

find or create card graphics for use in the graphical poker client.

if using existing card graphics, ensure that the associated license is
permissive and allows the card graphics to be redistributed in another
project (e.g. this one).

Original issue reported on code.google.com by brian%[email protected] on 18 Jan 2008 at 4:45

core: create hand eval module

create classes 'Card' and 'Hand'

Card
- rank (2,3,...,J,Q,K,A)
- suit (spades, clubs, etc.)
- string representation ("ace of clubs", "Ac")

Hand
- add card to hand
- find best hand (no worst hand finder yet for "low" games)
- compare two hands
- string representation ("full house (aces over tens)")

Original issue reported on code.google.com by brian%[email protected] on 18 Jan 2008 at 4:30

client: find / create sound effects

similar to issue # 5.

sounds likely needed include:
- deck being shuffled
- cards being dealt to a player / community
- chips being bet (i.e. being dropped & clanking together)
- win money ('cha-ching' or the like [ugh?])
- lose money (Wa-wa-waaaaa)
- crowd cheering
- alert noise for "it's your turn to act"
- folding (fast 'shweeeet')
- game over
- new hand ('tink')
- crowd shock (bad beats, all-ins, etc)

Original issue reported on code.google.com by brian%[email protected] on 18 Jan 2008 at 5:00

core: create tests for hand eval module

create unit tests for the hand evaluation module.

test for detection of each standard poker hand:

- straight flush
- four of a kind
- full house
- flush
- straight
- three of a kind
- two pair
- one pair
- high card

test hand comparisons; e.g. straight flush beats three of a kind, etc.

include tests with same hand but differing "kickers".

Original issue reported on code.google.com by brian%[email protected] on 18 Jan 2008 at 4:27

core: create tests for table manager module

Need: 'Player', 'Table'

players have
- a name
- chips (bankroll)

tables have 
- a deck of cards
- a finite number of seats that players can sit at
- a set of pots to which players bet (usually one)

the table manager fires events during the course of a game, including
- player joins game
- player leaves game
- hand starts
- hand ends
- player wins chips
- player loses chips
- player splits pot
- new pot created
- player checks
- player folds
- player bets
- it's a given player's turn to act
- player didn't respond in time (timeout => autofold)
- hole-cards dealt to player
- flop dealt
- turn card dealt
- river card dealt
- player chatted a public message to the table
- player sits out
- player asks permission to view table
- dealer button moved
- blinds go up

it is up to an event listener to prompt the players for their action when
it is their turn to act.

a player's action can be noted prior to their turn to act.  when it becomes
their turn to act and the pending action is valid, it is used.  otherwise,
the turn-to-act event is posted again (possibly with a flag noting the
previous pending action was invalid for the current state of the hand).



Original issue reported on code.google.com by brian%[email protected] on 18 Jan 2008 at 4:42

client: decide on UI toolkit

we'll be using pyglet for the client implementation.  however, we have a
need to have standard GUI widgets such as text boxes, buttons, check boxes,
etc.  

Original issue reported on code.google.com by brian%[email protected] on 18 Jan 2008 at 5:12

client: design screen layout

assuming we want a typical round / elliptical table layout.

determine screen locations to place player graphics at.  these will include:
- a player image / avatar / icon
- last action text (e.g. "won $30,000")
- remaining chips in multiple stacks
- numerical display of chips remaining (e.g. "$1,245,000")
- highlighting for "it's your turn to act" state
- dealer button
- hole cards
- community cards
- player action events (bubbles over icons ala comics)
- game events (e.g. "blinds go up to $5 and $10"; under community cards?)
- group chat (more on this later)
- hand history

Original issue reported on code.google.com by brian%[email protected] on 18 Jan 2008 at 5:08

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.