Posted  by  admin

Poker Straight Queen King Ace Two Three

Poker Straight Queen King Ace Two Three Average ratng: 6,2/10 1080 votes
  • Bookends - Each part of the end of the highest poker straight (top to bottom: Ace, King, Queen, Jack, Ten). Rounders Hand Made popular as the final hand in the movie 'Rounders'.
  • Finally, as with the flush, the 40 straight flushes must be excluded, giving: Three of a kind — Any of the thirteen ranks can form the three of a kind, which can contain any three of the four suits. The remaining two cards can have any two of the remaining twelve ranks, and each can have any of the four suits.
Simply Scheme:Introducing Computer Science 2/e Copyright (C) 1999 MIT

The cards are ranked thus, from low to high: 2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Queen, King, Ace. An ace is the highest card, but it can also function as the lowest in completing a straight. The two is usually called a 'deuce', and the three is sometimes called a 'trey'.

BrianHarvey
University of California, Berkeley
MatthewWright
University of California, Santa Barbara

Download PDF version
Back to Table of Contents
BACKchapter thread NEXT
MITPress web page for Simply Scheme

The idea of this project is to invent a procedure poker-valuethat works like this:

As you can see, we are representing cards and hands just as in theBridge project, except that poker hands have only fivecards.[1]

Here are the various kinds of poker hands, in decreasing order of value:

Poker straight queen king ace two three four a straight
Royal flush: ten, jack, queen, king, and ace, all of the same suit
Poker straight queen king ace two three ways
Straight flush: five cards of sequential rank, all of the same suit
Four of a kind: four cards of the same rank
Full house: three cards of the same rank, and two of a second rank
Poker straight ace
Flush: five cards of the same suit, not sequential rank
Straight: five cards of sequential rank, not all of the same suit
Three of a kind: three cards of the same rank, no other matches
Two pair: two pairs of cards, of two different ranks
Pair: two cards of the same rank, no other matches

Poker Straight Ace

Nothing: none of the above

An ace can be the lowest card of a straight (ace, 2, 3, 4, 5) orthe highest card of a straight (ten, jack, queen, king, ace), but a straightcan't 'wrap around'; a hand with queen, king, ace, 2, 3 would be worthless(unless it's a flush).

Poker Straight Queen King Ace Two Three

Notice that most of the hand categories are either entirely about the ranksof the cards (pairs, straight, full house, etc.) or entirely about thesuits (flush). It's a good idea to begin your program by separating therank information and the suit information. To check for a straight flush orroyal flush, you'll have to consider both kinds of information.

In what form do you want the suit information? Really, all you need is atrue or false value indicating whether or not the hand is a flush, becausethere aren't any poker categories like 'three of one suit and two ofanother.'

What about ranks? There are two kinds of hand categories involving ranks: the ones about equal ranks (pairs, full house) and the ones about sequentialranks (straight). You might therefore want the rank information in twoforms. A sentence containing all of the ranks in the hand, in sorted order,will make it easier to find a straight. (You still have to be careful aboutaces.)

For the equal-rank categories, what you want is some data structure thatwill let you ask questions like 'are there three cards of the same rankin this hand?' We ended up using a representation like this:

One slightly tricky aspect of this solution is that we spelledout the numbers of cards, one to four, instead of using the moreobvious (1 Q 2 3 2 4). The reason, as you can probably tell just bylooking at the latter version, is that it would lead to confusion betweenthe names of the ranks, most of which are digits, and the numbers ofoccurrences, which are also digits. More specifically, by spelling out thenumbers of occurrences, we can use member? to ask easily if there isa three-of-a-kind rank in the hand.

You may find it easier to begin by writing a version that returns only thename of a category, such as three of a kind, and only after you getthat to work, revise it to give more specific results such as threesixes.

Extra Work for Hotshots

Straight

In some versions of poker, each player gets seven cards and can choose anyfive of the seven to make a hand. How would it change your program if theargument were a sentence of seven cards? (For example, in five-card pokerthere is only one possible category for a hand, but in seven-card you haveto pick the best category that can be made from your cards.) Fix yourprogram so that it works for both five-card and seven-card hands.

Poker Straight Queen King Ace Two Three Ways

Another possible modification to the program is to allow for playing with'wild' cards. If you play with 'threes wild,' it means that if there isa three in your hand you're allowed to pretend it's whatever card you like.For this modification, your program will require a second argument indicatingwhich cards are wild. (When you play with wild cards, there's thepossibility of having five of a kind. This beats a straight flush.)

[1] Later on we'll think about seven-card variants of poker.

BACKchapter thread NEXT

Brian Harvey,

Poker Straight Queen King Ace Two Three Four

bh@cs.berkeley.edu