PLO4 Simulator ๐
A Pot-Limit Omaha simulator with two interactive widgets: deal a random 4-player hand and watch the showdown play out, or punch in 2โ6 specific hands and run a Monte Carlo to see how each one fares across thousands of random boards.
Originally written as a Tkinter desktop app in Python โ the hand evaluator and Monte Carlo engine have been ported to vanilla JavaScript so the whole thing runs in your browser. No backend, no Python server, no waiting. The smoke test suite (27 assertions across every hand category, PLO's "exactly 2 hole + 3 board" rule, and an equity sanity check) passes against the original Python reference.
Deal & Play
Pick 2 to 6 players, hit Deal, then step through Flop, Turn, and River at your own pace. Each player's live equity rolls forward after every street โ exact at the turn, deterministic at the river.
Equity Calculator
Punch in 2โ6 players, give each one 4 hole cards (e.g.
As Kh Qh Js), and run a Monte Carlo over thousands
of random boards to see how each hand fares.
Cards auto-advance.
How it's built
- Cards encoded as integers 0โ51 (rank ร 4 + suit) for speed.
- 5-card hand evaluator with category-then-tiebreaker scoring:
each hand resolves to an array like
[6, 13, 3](full house, kings full of threes) that compares element by element. - PLO best-hand picker walks the 60 combinations of 2 hole + 3 board exhaustively per player. With 4 players that's 240 hand evaluations per trial โ modern browsers chew through 10,000 trials in a few hundred milliseconds.
- Equity loop chunks trials into batches of 25 with
setTimeout(0)between batches, so the progress bar updates smoothly and the page stays responsive.