Video Poker Video Poker Articles Online Casinos Online Gambling Video Poker Games Tools Video Poker Strategies

Double Down Stud (Joker Poker)

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

This version of Double Down Stud includes a single Joker, and the minimum hand required to win anything is a pair of Eights.

Play Double Down Stud (Joker Poker) for free

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
Natural Royal Flush
Five of a Kind
Wild Royal Flush
Straight Flush
Four of a Kind
Full House
Flush
Straight
Three of a Kind
Two Pair
Eights or Better

Deck Simplification


An "X" in the suit pattern denotes the Joker.

Unique Rank Patterns - Without Joker


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 Rank Patterns - With Joker


Core Hand Type Formula Result
Three of a Kind Combin(13, 1) 13
One Pair Combin(13, 1) * Combin(12, 1) 156
No Pair Combin(13, 3) 286

Unique Suit Patterns - Without Joker


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

Unique Suit Patterns - With Joker


Three of a Kind One Pair No Pair
Pattern Count Pattern Count Pattern Count
ABCX 4 ABAX 12 AAAX 4
ABCX 12 AABX 12
ABAX 12
ABBX 12
ABCX 24

Total Unique Patterns


Joker Core Hand Type Rank Patterns Suit Patterns Total
No 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
Yes Three of a Kind 13 1 13
One Pair 156 2 312
No Pair 286 5 1,430
Total 18,187
Reduction in processing time 93.7891%

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; S1 ^= S2; S2 ^= S1; S1 ^= S2; }
    if (R1 > R3) { R1 ^= R3; R3 ^= R1; R1 ^= R3; S1 ^= S3; S3 ^= S1; S1 ^= S3; }
    if (R1 > R4) { R1 ^= R4; R4 ^= R1; R1 ^= R4; S1 ^= S4; S4 ^= S1; S1 ^= S4; }
    if (R1 > R5) { R1 ^= R5; R5 ^= R1; R1 ^= R5; S1 ^= S5; S5 ^= S1; S1 ^= S5; }
    if (R2 > R3) { R2 ^= R3; R3 ^= R2; R2 ^= R3; S2 ^= S3; S3 ^= S2; S2 ^= S3; }
    if (R2 > R4) { R2 ^= R4; R4 ^= R2; R2 ^= R4; S2 ^= S4; S4 ^= S2; S2 ^= S4; }
    if (R2 > R5) { R2 ^= R5; R5 ^= R2; R2 ^= R5; S2 ^= S5; S5 ^= S2; S2 ^= S5; }
    if (R3 > R4) { R3 ^= R4; R4 ^= R3; R3 ^= R4; S3 ^= S4; S4 ^= S3; S3 ^= S4; }
    if (R3 > R5) { R3 ^= R5; R5 ^= R3; R3 ^= R5; S3 ^= S5; S5 ^= S3; S3 ^= S5; }
    if (R4 > R5) { R4 ^= R5; R5 ^= R4; R4 ^= R5; S4 ^= S5; S5 ^= S4; S4 ^= S5; }

    int Wilds = (R1 == 13 ? 1 : 0)
              + (R2 == 13 ? 1 : 0)
              + (R3 == 13 ? 1 : 0)
              + (R4 == 13 ? 1 : 0)
              + (R5 == 13 ? 1 : 0);

    switch (Wilds)
    {
        case 0:

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

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

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

                else
                {
                    Hand = 5;           // Flush
                }
            }

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

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

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

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

                else if (((R1 == R2) && (R3 == R4)) ||
                 ((R1 == R2) && (R4 == R5)) ||
                 ((R2 == R3) && (R4 == R5)))
                {
                    Hand = 2;           // Two Pair
                }
                else if (((R1 == R2) && (R1 >= 6)) ||
                         ((R2 == R3) && (R2 >= 6)) ||
                         ((R3 == R4) && (R3 >= 6)) ||
                         ((R4 == R5) && (R4 >= 6)))
                {
                    Hand = 1;           // Eights or Better
                }
            }

            break;

        case 1:

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

            if (Flush)
            {
                if (R1 >= 8)
                {
                    Hand = 9;           // Wild Royal Flush
                }

                else if (((R4 - R1) <= 4) || ((R4 == 12) && (R3 <= 3)))
                {
                    Hand = 8;           // Straight Flush
                }

                else
                {
                    Hand = 5;           // Flush
                }
            }

            else
            {
                if ((R1 == R2) && (R2 == R3) && (R3 == R4))
                {
                    Hand = 10;          // Five of a Kind
                }

                else if ((R2 == R3) && ((R1 == R2) || (R3 == R4)))
                {
                    Hand = 7;           // Four of a Kind
                }

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

                else if ((((R4 - R1) <= 4) || ((R4 == 12) && (R3 <= 3))) &&
                            (R1 != R2) && (R2 != R3) && (R3 != R4))
                {
                    Hand = 4;           // Straight
                }

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

                else if (R4 >= 6)
                {
                    Hand = 1;           // Eights or Better
                }
            }

            break;

        case 2:

            Flush = (S1 == S2) && (S2 == S3);

            break;

    }

    return Hand;
}


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

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

Free Video Poker | Mac Video Poker | Online Blackjack | Video Poker | Slot Machines | Privacy Policy & Disclaimers | Video Poker Websites | Contact