Skip to content

Commit 57f1ce6

Browse files
jstringer1john.stringer
authored andcommitted
paytable tweak
1 parent 855d301 commit 57f1ce6

File tree

3 files changed

+9
-10
lines changed

3 files changed

+9
-10
lines changed

README.MD

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@ A simple slots game where the GUI is drawn in a console window.
66

77
### THEORETICAL RETURN TO PLAYER
88

9-
The game has a theoretical RTP of 82%. Game outcome is determined by random numbers drawn in the range 0(inclusive) and 80000(exclusive). The games "outcome type" is then calculated from the random number based on the table below:
9+
The game has a theoretical RTP of 82%. Game outcome is determined by random numbers drawn in the range 0(inclusive) and 100000(exclusive). The games "outcome type" is then calculated from the random number based on the table below:
1010

1111
| Random Min | Random Max | OUTCOME TYPE | COUNT | Stake | Prize | Total Stake | Total Prize |
1212
|------------|------------|--------------|-------|-------|-------|-------------|-------------|
1313
| 0 | 327 | 3 BELLS | 328 | 20 | 500 | 6560 | 164000 |
1414
| 328 | 3607 | 3 OF A KIND | 3280 | 20 | 100 | 65600 | 328000 |
15-
| 3608 | 20007 | 2 OF A KIND | 16500 | 20 | 50 | 328000 | 820000 |
16-
| 20008 | 79999 | LOSE | 59992 | 20 | 0 | 1199840 | 0 |
15+
| 3608 | 26567 | 2 OF A KIND | 22960 | 20 | 50 | 459200 | 1148000 |
16+
| 26568 | 99999 | LOSE | 73432 | 20 | 0 | 1468640 | 0 |
1717

18-
Given that all 80k outcomes should be equally likely, if a player was to play 80k spins, theoretically they'd hit all 80k possibilities giving a total prize, total stake and theoretical RTP of:
18+
Given that all 100k outcomes should be equally likely, if a player was to play 100k spins, theoretically they'd hit all 100k possibilities giving a total prize, total stake and theoretical RTP of:
1919

20-
| TOT TOT STAKE | TOT TOT PRIZE | THORETICAL RTP |
21-
|-------------------------------------------|------------------------------------|--------------------------|
22-
| 6560 + 65600 + 328000 + 1199840 = 1600000 | 164000 + 328000 + 820000 = 1312000 | 1312000 / 1600000 = 0.82 |
20+
| TOT TOT STAKE | TOT TOT PRIZE | THORETICAL RTP |
21+
|-------------------------------------------|-------------------------------------|--------------------------|
22+
| 6560 + 65600 + 459200 + 1468640 = 2000000 | 164000 + 328000 + 1148000 = 1640000 | 1640000 / 2000000 = 0.82 |
2323

2424
You can test the actual RTP over 100k cycles by adding a command line argument representing a relative file path to a location to output CSV results to for the 100k cycles.
2525

src/cpp/GUI.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#include "GUI.h"
2-
#include "Symbols.h"
32
#include "resource.h"
43

54
GUI::GUI(Console* console, Wallet* wallet, SoundController *sound) {

src/cpp/OutcomeGenerator.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ OutcomeGenerator::OutcomeGenerator() {
77
OUTCOME OutcomeGenerator::generateOutcome() {
88
OUTCOME outcome;
99
outcome.stake = 20;
10-
outcome.randomNumber = nextInt(80000);
10+
outcome.randomNumber = nextInt(100000);
1111
outcome.type = randomNumberToOutcomeType(outcome.randomNumber);
1212
if (outcome.type == THREE_BELLS) populate3BellsOutcome(&outcome);
1313
else if (outcome.type == THREE_SYMBOLS) populate3OfAKindOutcome(&outcome);
@@ -50,7 +50,7 @@ void OutcomeGenerator::populateLossOutcome(OUTCOME* outcome) {
5050
OUTCOME_TYPE OutcomeGenerator::randomNumberToOutcomeType(unsigned int rn) {
5151
if (rn < 328) return THREE_BELLS;
5252
else if (rn < 3608) return THREE_SYMBOLS;
53-
else if (rn < 20008) return TWO_SYMBOLS;
53+
else if (rn < 26568) return TWO_SYMBOLS;
5454
else return LOSE;
5555
}
5656

0 commit comments

Comments
 (0)