You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Hold Em Analyzer is a project that I created back in 2004-2006. I initially created this to help me do hand analisys for Texas Hold Em games. Back in that era I was playing a lot both online and in person and this helped me to learn the math odds of various situations.
4
+
The Hold Em Analyzer is a project that I created back in 2004-2006. I initially created this to help me do hand analisys
5
+
for Texas Hold Em games. Back in that era I was playing a lot both online and in person and this helped me to learn the
6
+
math odds of various situations.
5
7
6
-
The app uses Monte Carlo simulation to simulate the outcome of a hand. It does this by simulating the remaining cards in the deck and then running a number of iterations to determine the outcome of the hand. The more iterations you run, the more accurate the results will be. Back in 2006 the default settings on fast hardware would produce 10's of thousands of iterations - today its more like hundreds of thousands which produces pretty accurate outcome estimates.
8
+
The app uses Monte Carlo simulation to simulate the outcome of a hand. It does this by simulating the remaining cards in
9
+
the deck and then running a number of iterations to determine the outcome of the hand. The more iterations you run, the
10
+
more accurate the results will be. Back in 2006 the default settings on fast hardware would produce 10's of thousands of
11
+
iterations - today its more like hundreds of thousands which produces pretty accurate outcome estimates.
7
12
8
-
I intentionally chose to do Monte Carlo simulation vs calculating outcomes because I wanted to have slight variance in output. Why? Because I intended to use this as the core of a bot and the slight randomness would make it harder to predict, detect and play against.
13
+
I intentionally chose to do Monte Carlo simulation vs calculating outcomes because I wanted to have slight variance in
14
+
output. Why? Because I intended to use this as the core of a bot and the slight randomness would make it harder to
15
+
predict, detect and play against.
9
16
10
17
## Tech Details:
11
18
---
12
-
This app is written in Java and was originally written in Java 1.4. It uses the Java Swing UI toolkit which was created way back at the beginning of Java's life.
19
+
This app is written in Java and was originally written in Java 1.4. It uses the Java Swing UI toolkit which was created
20
+
way back at the beginning of Java's life.
13
21
14
-
The UI is fairly simple and made to fit the 640x480 or 800x600 screens of the day.
22
+
The UI is fairly simple and made to fit the 640x480 or 800x600 screens of the day.
15
23
16
24
## Required Build and Execution Tools
17
25
---
18
26
19
27
### JDK 21
20
28
---
21
-
To build this project you will need to have a modern JDK installed. I have updated and tested this with JDK 21. You can download the JDK from Oracle's website or use OpenJDK.
29
+
To build this project you will need to have a modern JDK installed. I have updated and tested this with JDK 21. You can
30
+
download the JDK from Oracle's website or use OpenJDK.
22
31
23
32
### Maven:
24
33
---
25
-
You will also need to install maven, the widely used Java packaging, dependency and build tool.
34
+
You will also need to install maven, the widely used Java packaging, dependency and build tool.
26
35
27
36
28
37
## To Build and Run
29
38
---
30
39
31
-
Clone this project to your local machine. Then navigate to the root of the project and run the following command:
40
+
Clone this project to your local machine. Then navigate to the root of the project and run the following command:
32
41
33
42
```
34
43
mvn clean install
@@ -40,12 +49,20 @@ Then after the build runs, you should be able to run the app with the following
That will bring up the UI and the rest should be self explanitory.
52
+
That will bring up the UI and the rest should be self explanitory.
44
53
45
54
46
55
## Features:
47
56
---
48
57
49
-
This tool can do simple outcome analysis on a single hand or a it can compare two hands. You can also set the board to whatever cards you like, including no cards, the flop, turn, and river.
58
+
This tool can do simple outcome analysis on a single hand or a it can compare two hands. You can also set the board to
59
+
whatever cards you like, including no cards, the flop, turn, and river.
50
60
51
-
On the Settings screen you can adjust the "think" time of the simulation. The default is enough now to do pretty hundreds of thousands of iterations - so its probably adequate on todays hardware.
61
+
On the Settings screen you can adjust the "think" time of the simulation. The default is enough now to do pretty
62
+
hundreds of thousands of iterations - so its probably adequate on todays hardware.
63
+
64
+
## License
65
+
66
+
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
0 commit comments