Jump to content

Video Poker


Recommended Posts

Inspired by Josh's True 100%+ series I decided to look up what is the real probability to get royal flush in poker machine. But as I am no math person, I wrote a simple C++ program that plays this mode a lot of times and gathers statistic probability based on the results. Source code and 64-bit exe can be found here: http://rgho.st/7rJnXnSpw.

Example output:


Number of simulations: ~1e+07

Number of threads: 4
Seed: 2256776011
Got royal flush: ~374 times
Result: ~374/1e+07 = 0.00374%
It means if your playout time is 20 sec in average, then
you will get a royal flush in 148 hrs 32 min 39 sec.
If you got it earlier consider yourself as a lucky one,
if later then you are unlucky.
Good luck!

I am interested in getting as many statistics as possible, so I would appreciate if anyone could run this program with big simulation amounts and post the results here.


Run the program from command line with parameters:

number_of_simulations [number_of_threads] [seed]


Edit. Fixed time output. Added how-to-run info

Edited by viktprog
Link to comment
Share on other sites

Interesting. I did wonder if the poker game is programmed to be truly random or if there is some bias at play. As unlikely as a royal flush is I find the probability quite low for this example. I'm not doubting you or the data, I'm just curious if there's a pattern the game follows when it comes to video poker, or any of the casino games for that matter.

Link to comment
Share on other sites

I actually did look into script some time ago and it seems it is doing things the same way I do. The game has two opcodes that deal with the cards: 059D shuffles decks, 059E gets one card from the top. I didn't check how the engine does the shuffling though, but if it does it the same way as in Vice City, then it does not cheat.

My program does not run the script from the game, it shows the real values if a player would follow my strategy and casino would play fairly (unless there are mistakes in my code). So the probability is in fact that low.

The intended strategy is: 1) hold cards that can win (10 and better) and of a suit that has the best chance of winning; 2) if two suits are equal in chances, then we only pick cards of a suit that is faster to get (e.g. if we have one winning card at position 1 and one winning card of different suit at position 3, then we choose the first one as we don't need to move the cursor). This strategy seems to have x20 better chance of winning then just getting a new hand every time.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.