Video Poker Video Poker Articles Online Casinos Online Gambling Strategy Guides Tools Video Poker Strategies

Double Down Stud (Double Double Bonus Poker)

Game Info Paytable Options Hand Analyzer Paytable Analyzer Simulator Strategy Guide Training Programming

This version of Double Down Stud is modeled after Double Double Bonus Poker, and the minimum hand required to win anything is a pair of Sixes.

Click here for help Opens in a new window

Currency Options


Currency: Coin Size: Coins per Hand:

Taxes & Tips


  Threshold   Withholding Rate
  Threshold   Withholding Rate
  Threshold   Withholding Rate
  Threshold   Amount
  Threshold   Rate

Click here for help Opens in a new window

Number of hands to simulate:  

Click here for help Opens in a new window



Don't forget that you can type in your own paytable below.

Hand Coins Paid
Not Doubled Doubled
Royal Flush
Straight Flush
Four Aces with any 2,3,4
Four 2,3,4 with any A,2,3,4
Four Aces
Four 2,3,4
Four 5-K
Full House
Flush
Straight
Three of a Kind
Two Pair
Pair of Queens or Better
Pair of Sixes thru Jacks

Deck Simplification


Unique Rank Patterns


Core Hand Type Formula Result
Four of a Kind Combin(13, 1) 13
Three of a Kind Combin(13, 1) * Combin(12, 1) 156
Two Pair Combin(13, 2) 78
One Pair Combin(13, 1) * Combin(12, 2) 858
No Pair Combin(13, 4) 715

Unique Suit Patterns


Four of a Kind Three of a Kind Two Pair One Pair No Pair
Pattern Count Pattern Count Pattern Count Pattern Count Pattern Count
ABCD 1 ABCA 12 ABAB 6 ABAA 12 AAAA 4
ABCD 4 ABAC 24 ABAB 12 AAAB 12
ABCD 6 ABAC 24 AABA 12
ABCA 24 AABB 12
ABCC 12 AABC 24
ABCD 12 ABAA 12
ABAB 12
ABAC 24
ABBA 12
ABBB 12
ABBC 24
ABCA 24
ABCB 24
ABCC 24
ABCD 24

Total Unique Patterns


Core Hand Type Rank Patterns Suit Patterns Total
Four of a Kind 13 1 13
Three of a Kind 156 2 312
Two Pair 78 3 234
One Pair 858 6 5,148
No Pair 715 15 10,725
Total 16,432
Reduction in processing time 93.9304%

Hand Scoring Code


int GetHandType(int C1, int C2, int C3, int C4, int C5)
{
    int Hand = 0;

    int R1 = Rank[C1],
        R2 = Rank[C2],
        R3 = Rank[C3],
        R4 = Rank[C4],
        R5 = Rank[C5];

    int S1 = Suit[C1],
        S2 = Suit[C2],
        S3 = Suit[C3],
        S4 = Suit[C4],
        S5 = Suit[C5];

    bool Flush =

        (S1 == S2) &&
        (S2 == S3) &&
        (S3 == S4) &&
        (S4 == S5);

    if (R1 > R2) { R1 ^= R2; R2 ^= R1; R1 ^= R2; }
    if (R1 > R3) { R1 ^= R3; R3 ^= R1; R1 ^= R3; }
    if (R1 > R4) { R1 ^= R4; R4 ^= R1; R1 ^= R4; }
    if (R1 > R5) { R1 ^= R5; R5 ^= R1; R1 ^= R5; }
    if (R2 > R3) { R2 ^= R3; R3 ^= R2; R2 ^= R3; }
    if (R2 > R4) { R2 ^= R4; R4 ^= R2; R2 ^= R4; }
    if (R2 > R5) { R2 ^= R5; R5 ^= R2; R2 ^= R5; }
    if (R3 > R4) { R3 ^= R4; R4 ^= R3; R3 ^= R4; }
    if (R3 > R5) { R3 ^= R5; R5 ^= R3; R3 ^= R5; }
    if (R4 > R5) { R4 ^= R5; R5 ^= R4; R4 ^= R5; }

    if (Flush)
    {
        if (R1 == 8)
        {
            Hand = 14;          // Royal Flush
        }

        else if ((R1 == (R2 - 1)) &&
                 (R2 == (R3 - 1)) &&
                 (R3 == (R4 - 1)) &&
                ((R4 == (R5 - 1)) || ((R1 == 0) && (R5 == 12))))
        {
            Hand = 13;          // Straight Flush
        }

        else
        {
            Hand = 6;           // Flush
        }
    }

    else
    {
        if ((R2 == R3) && (R3 == R4) && ((R1 == R2) || (R4 == R5)))
        {
            if (R3 == 12)
            {
                if (R1 <= 2)
                {
                    Hand = 12;  // Four Aces with any 2,3,4
                }
                else
                {
                    Hand = 10;  // Four Aces
                }
            }

            else if ((R1 == R2) && (R1 == 0))
            {
                if ((R5 <= 2) || (R5 == 12))
                {
                    Hand = 11;  // Four 2,3,4 with any A,2,3,4
                }
                else
                {
                    Hand = 9;   // Four 2,3,4
                }
            }

            else if ((R1 == R2) && (R1 == 1))
            {
                if ((R5 == 2) || (R5 == 12))
                {
                    Hand = 11;  // Four 2,3,4 with any A,2,3,4
                }
                else
                {
                    Hand = 9;   // Four 2,3,4
                }
            }

            else if ((R4 == R5) && (R2 == 1))
            {
                Hand = 11;      // Four 2,3,4 with any A,2,3,4
            }

            else if ((R1 == R2) && (R1 == 2))
            {
                if (R5 == 12)
                {
                    Hand = 11;  // Four 2,3,4 with any A,2,3,4
                }
                else
                {
                    Hand = 9;   // Four 2,3,4
                }
            }

            else if ((R4 == R5) && (R2 == 2))
            {
                Hand = 11;      // Four 2,3,4 with any A,2,3,4
            }

            else
            {
                Hand = 8;       // Four 5-K
            }
        }

        else if ((R1 == R2) && (R4 == R5) && ((R2 == R3) || (R3 == R4)))
        {
            Hand = 7;           // Full House
        }

        else if ((R1 == (R2 - 1)) &&
                 (R2 == (R3 - 1)) &&
                 (R3 == (R4 - 1)) &&
                ((R4 == (R5 - 1)) || ((R1 == 0) && (R5 == 12))))
        {
            Hand = 5;           // Straight
        }

        else if (((R1 == R2) && (R2 == R3)) ||
                 ((R2 == R3) && (R3 == R4)) ||
                 ((R3 == R4) && (R4 == R5)))
        {
            Hand = 4;           // Three of a Kind
        }

        else if (((R1 == R2) && (R3 == R4)) ||
                 ((R1 == R2) && (R4 == R5)) ||
                 ((R2 == R3) && (R4 == R5)))
        {
            Hand = 3;           // Two Pair
        }
        else if (((R1 == R2) && (R1 >= 10)) ||
                 ((R2 == R3) && (R2 >= 10)) ||
                 ((R3 == R4) && (R3 >= 10)) ||
                 ((R4 == R5) && (R4 >= 10)))
        {
            Hand = 2;           // Queen or Better
        }
        else if (((R1 == R2) && (R1 >= 4)) ||
                 ((R2 == R3) && (R2 >= 4)) ||
                 ((R3 == R4) && (R3 >= 4)) ||
                 ((R4 == R5) && (R4 >= 4)))
        {
            Hand = 1;           // Sixes through Jacks
        }
    }

    return Hand;
}


Processing, please wait... this could take a while.

Copyright © 2007-2008 Video Poker Genius. All rights reserved.

Free Video Poker | Mac Video Poker | Video Poker | Legal Notices | Websites | Contact