-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
d1bd631
commit f014f9e
Showing
9 changed files
with
365 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package halloween | ||
|
||
import ( | ||
"context" | ||
"fmt" | ||
"time" | ||
|
||
"github.com/slotopol/server/game/slot" | ||
) | ||
|
||
func CalcStat(ctx context.Context, mrtp float64) float64 { | ||
var reels, _ = slot.FindReels(ReelsMap, mrtp) | ||
var g = NewGame() | ||
var sln float64 = 1 | ||
g.Sel = int(sln) | ||
var s slot.Stat | ||
|
||
var dur = slot.ScanReels3x(ctx, &s, g, reels, | ||
time.Tick(2*time.Second), time.Tick(2*time.Second)) | ||
|
||
var reshuf = float64(s.Reshuffles) | ||
var lrtp = s.LinePay / reshuf / sln * 100 | ||
fmt.Printf("completed %.5g%%, selected %d lines, time spent %v\n", reshuf/float64(s.Planned())*100, g.Sel, dur) | ||
fmt.Printf("reels lengths [%d, %d, %d], total reshuffles %d\n", | ||
len(reels.Reel(1)), len(reels.Reel(2)), len(reels.Reel(3)), reels.Reshuffles()) | ||
fmt.Printf("RTP = %.6f%%\n", lrtp) | ||
return lrtp | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
//go:build !prod || full || agt | ||
|
||
package halloween | ||
|
||
import ( | ||
"github.com/slotopol/server/game" | ||
) | ||
|
||
var Info = game.GameInfo{ | ||
Aliases: []game.GameAlias{ | ||
{Prov: "AGT", Name: "Halloween"}, | ||
}, | ||
GP: game.GPfgno, | ||
SX: 3, | ||
SY: 3, | ||
SN: len(LinePay), | ||
LN: len(BetLines), | ||
BN: 0, | ||
RTP: game.MakeRtpList(ReelsMap), | ||
} | ||
|
||
func init() { | ||
Info.SetupFactory(func() any { return NewGame() }, CalcStat) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,196 @@ | ||
|
||
# reels lengths [49, 49, 49], total reshuffles 117649 | ||
# RTP = 83.825617% | ||
83.825617: | ||
- [8, 2, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 2, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 2, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6] | ||
- [1, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 8, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2] | ||
- [2, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 8, 2, 1, 4, 4, 4, 4, 4, 1, 5, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7] | ||
|
||
# reels lengths [49, 48, 49], total reshuffles 115248 | ||
# RTP = 85.138137% | ||
85.138137: | ||
- [8, 2, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 2, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 2, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6] | ||
- [6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 1, 4, 4, 4, 4, 4, 2, 5, 5, 5, 5, 5, 5, 5, 1] | ||
- [2, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 8, 2, 1, 4, 4, 4, 4, 4, 1, 5, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7] | ||
|
||
# reels lengths [48, 49, 48], total reshuffles 112896 | ||
# RTP = 86.513251% | ||
86.513251: | ||
- [6, 6, 6, 6, 6, 6, 6, 6, 2, 3, 3, 3, 3, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 2, 5, 5, 5, 5, 5, 5, 5, 2] | ||
- [1, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 8, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2] | ||
- [8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 1, 5, 5, 5, 5, 5, 5, 5, 1, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 2, 1, 3, 3, 3, 3] | ||
|
||
# reels lengths [48, 48, 48], total reshuffles 110592 | ||
# RTP = 87.949400% | ||
87.949400: | ||
- [6, 6, 6, 6, 6, 6, 6, 6, 2, 3, 3, 3, 3, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 2, 5, 5, 5, 5, 5, 5, 5, 2] | ||
- [6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 1, 4, 4, 4, 4, 4, 2, 5, 5, 5, 5, 5, 5, 5, 1] | ||
- [8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 1, 5, 5, 5, 5, 5, 5, 5, 1, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 2, 1, 3, 3, 3, 3] | ||
|
||
# reels lengths [48, 47, 48], total reshuffles 108288 | ||
# RTP = 88.463172% | ||
88.463172: | ||
- [6, 6, 6, 6, 6, 6, 6, 6, 2, 3, 3, 3, 3, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 2, 5, 5, 5, 5, 5, 5, 5, 2] | ||
- [4, 4, 4, 4, 4, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 2, 5, 5, 5, 5, 5, 5, 2, 1, 2, 1] | ||
- [8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 1, 5, 5, 5, 5, 5, 5, 5, 1, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 2, 1, 3, 3, 3, 3] | ||
|
||
# reels lengths [47, 48, 47], total reshuffles 106032 | ||
# RTP = 89.157047% | ||
89.157047: | ||
- [2, 1, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 1, 2, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 6, 6, 6, 6, 6, 6, 6, 6] | ||
- [6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 3, 3, 3, 3, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 1, 4, 4, 4, 4, 4, 2, 5, 5, 5, 5, 5, 5, 5, 1] | ||
- [3, 3, 3, 3, 2, 1, 2, 5, 5, 5, 5, 5, 5, 1, 6, 6, 6, 6, 6, 6, 6, 6, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2] | ||
|
||
# reels lengths [47, 47, 47], total reshuffles 103823 | ||
# RTP = 90.013773% | ||
90.013773: | ||
- [2, 1, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 1, 2, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 6, 6, 6, 6, 6, 6, 6, 6] | ||
- [4, 4, 4, 4, 4, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 2, 5, 5, 5, 5, 5, 5, 2, 1, 2, 1] | ||
- [3, 3, 3, 3, 2, 1, 2, 5, 5, 5, 5, 5, 5, 1, 6, 6, 6, 6, 6, 6, 6, 6, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2] | ||
|
||
# reels lengths [47, 47, 47], total reshuffles 103823 | ||
# RTP = 90.793947% | ||
90.793947: | ||
- [4, 4, 4, 4, 4, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 5, 5, 5, 5, 5, 5, 5, 1, 3, 3, 3, 3, 1, 2] | ||
- [4, 4, 4, 4, 4, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 2, 5, 5, 5, 5, 5, 5, 2, 1, 2, 1] | ||
- [5, 5, 5, 5, 5, 5, 5, 1, 2, 6, 6, 6, 6, 6, 6, 6, 6, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 1, 7, 7, 7, 7, 7, 7, 7, 7, 2, 3, 3, 3, 3, 1] | ||
|
||
# reels lengths [47, 47, 47], total reshuffles 103823 | ||
# RTP = 91.593385% | ||
91.593385: | ||
- [4, 4, 4, 4, 4, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 5, 5, 5, 5, 5, 5, 5, 1, 3, 3, 3, 3, 1, 2] | ||
- [8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 3, 3, 3, 3, 1, 2, 1, 2, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7] | ||
- [5, 5, 5, 5, 5, 5, 5, 1, 2, 6, 6, 6, 6, 6, 6, 6, 6, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 1, 7, 7, 7, 7, 7, 7, 7, 7, 2, 3, 3, 3, 3, 1] | ||
|
||
# reels lengths [46, 46, 46], total reshuffles 97336 | ||
# RTP = 92.540273% | ||
92.540273: | ||
- [1, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 2, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7] | ||
- [1, 2, 4, 4, 4, 4, 4, 2, 6, 6, 6, 6, 6, 6, 6, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 3, 3, 3, 3] | ||
- [7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 5, 5, 5, 5, 5, 2, 1, 3, 3, 3, 3, 1] | ||
|
||
# reels lengths [46, 46, 46], total reshuffles 97336 | ||
# RTP = 93.208063% | ||
93.208063: | ||
- [5, 5, 5, 5, 5, 2, 1, 2, 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 1, 2, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7] | ||
- [5, 5, 5, 5, 5, 2, 1, 2, 6, 6, 6, 6, 6, 6, 6, 6, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, 1, 2] | ||
- [5, 5, 5, 5, 5, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 1, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 1, 3, 3, 3, 3, 1, 4, 4, 4, 4, 4] | ||
|
||
# reels lengths [46, 46, 46], total reshuffles 97336 | ||
# RTP = 93.783389% | ||
93.783389: | ||
- [2, 1, 2, 1, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 1, 2, 6, 6, 6, 6, 6, 6, 6, 6] | ||
- [2, 1, 5, 5, 5, 5, 5, 5, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 2] | ||
- [6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 5, 5, 5, 5, 5, 5, 2, 1, 4, 4, 4, 4, 4, 1, 2, 1, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 7] | ||
|
||
# reels lengths [46, 46, 46], total reshuffles 97336 | ||
# RTP = 94.225158% | ||
94.225158: | ||
- [5, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 2, 1, 2, 4, 4, 4, 4, 4, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3] | ||
- [5, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 2, 1, 2, 4, 4, 4, 4, 4, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3] | ||
- [5, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 2, 1, 2, 4, 4, 4, 4, 4, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3] | ||
|
||
# reels lengths [45, 46, 45], total reshuffles 93150 | ||
# RTP = 94.949007% | ||
94.949007: | ||
- [1, 3, 3, 3, 3, 4, 4, 4, 4, 4, 2, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 1] | ||
- [5, 5, 5, 5, 5, 2, 1, 2, 6, 6, 6, 6, 6, 6, 6, 6, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, 1, 2] | ||
- [2, 7, 7, 7, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 3, 3, 3, 3, 2, 1, 4, 4, 4, 4, 4, 1, 6, 6, 6, 6, 6, 6, 6, 1] | ||
|
||
# reels lengths [45, 46, 45], total reshuffles 93150 | ||
# RTP = 95.528717% | ||
95.528717: | ||
- [1, 3, 3, 3, 3, 4, 4, 4, 4, 4, 2, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 1] | ||
- [5, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 2, 1, 2, 4, 4, 4, 4, 4, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 6, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3] | ||
- [2, 7, 7, 7, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 3, 3, 3, 3, 2, 1, 4, 4, 4, 4, 4, 1, 6, 6, 6, 6, 6, 6, 6, 1] | ||
|
||
# reels lengths [45, 45, 45], total reshuffles 91125 | ||
# RTP = 95.851852% | ||
95.851852: | ||
- [1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 6, 6, 6, 6, 6, 6, 6, 1, 4, 4, 4, 4, 4, 2, 5, 5, 5, 5, 5, 3, 3, 3, 3, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2] | ||
- [2, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 1, 2, 5, 5, 5, 5, 5, 3, 3, 3, 3] | ||
- [6, 6, 6, 6, 6, 6, 6, 1, 4, 4, 4, 4, 4, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 3, 3, 3, 3, 1, 2] | ||
|
||
# reels lengths [45, 45, 45], total reshuffles 91125 | ||
# RTP = 95.983539% | ||
95.983539: | ||
- [1, 3, 3, 3, 3, 4, 4, 4, 4, 4, 2, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 1] | ||
- [2, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 2, 1, 2, 5, 5, 5, 5, 5, 3, 3, 3, 3] | ||
- [2, 7, 7, 7, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 3, 3, 3, 3, 2, 1, 4, 4, 4, 4, 4, 1, 6, 6, 6, 6, 6, 6, 6, 1] | ||
|
||
# reels lengths [45, 45, 45], total reshuffles 91125 | ||
# RTP = 96.466392% | ||
96.466392: | ||
- [1, 3, 3, 3, 3, 4, 4, 4, 4, 4, 2, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 1] | ||
- [2, 1, 5, 5, 5, 5, 5, 5, 1, 4, 4, 4, 4, 4, 2, 3, 3, 3, 3, 2, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 1] | ||
- [2, 7, 7, 7, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 3, 3, 3, 3, 2, 1, 4, 4, 4, 4, 4, 1, 6, 6, 6, 6, 6, 6, 6, 1] | ||
|
||
# reels lengths [45, 45, 45], total reshuffles 91125 | ||
# RTP = 97.179698% | ||
97.179698: | ||
- [2, 6, 6, 6, 6, 6, 6, 6, 6, 1, 2, 3, 3, 3, 3, 5, 5, 5, 5, 5, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 1, 7, 7, 7, 7, 7, 7, 7, 7] | ||
- [2, 6, 6, 6, 6, 6, 6, 6, 6, 1, 2, 3, 3, 3, 3, 5, 5, 5, 5, 5, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 1, 7, 7, 7, 7, 7, 7, 7, 7] | ||
- [2, 6, 6, 6, 6, 6, 6, 6, 6, 1, 2, 3, 3, 3, 3, 5, 5, 5, 5, 5, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 1, 7, 7, 7, 7, 7, 7, 7, 7] | ||
|
||
# reels lengths [45, 45, 45], total reshuffles 91125 | ||
# RTP = 98.984911% | ||
98.984911: | ||
- [1, 5, 5, 5, 5, 5, 5, 1, 3, 3, 3, 3, 2, 1, 7, 7, 7, 7, 7, 7, 7, 7, 2, 6, 6, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2] | ||
- [3, 3, 3, 3, 2, 1, 4, 4, 4, 4, 4, 1, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 1, 2, 8, 8, 8, 8, 8, 8, 8, 8, 5, 5, 5, 5, 5, 5, 2] | ||
- [3, 3, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 2, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7, 2, 1, 8, 8, 8, 8, 8, 8, 8, 8, 1] | ||
|
||
# reels lengths [44, 44, 44], total reshuffles 85184 | ||
# RTP = 99.555081% | ||
99.555081: | ||
- [8, 8, 8, 8, 8, 8, 8, 8, 8, 1, 5, 5, 5, 5, 5, 2, 6, 6, 6, 6, 6, 6, 3, 3, 3, 3, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 1, 4, 4, 4, 4, 4, 1] | ||
- [6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 3, 3, 3, 3, 1, 4, 4, 4, 4, 4, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 5, 5, 5, 5, 5, 1, 2] | ||
- [1, 5, 5, 5, 5, 5, 2, 3, 3, 3, 3, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 1, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8] | ||
|
||
# reels lengths [46, 45, 46], total reshuffles 95220 | ||
# RTP = 100.294056% | ||
100.294056: | ||
- [6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 2, 1, 2, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 1, 3, 3, 3, 3, 8, 8, 8, 8, 8, 8, 8, 8] | ||
- [1, 2, 1, 3, 3, 3, 3, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 2, 5, 5, 5, 5, 5, 5, 5, 2, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 1] | ||
- [6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 3, 3, 3, 3, 2, 1, 2, 1, 2, 1] | ||
|
||
# reels lengths [44, 44, 44], total reshuffles 85184 | ||
# RTP = 101.333584% | ||
101.333584: | ||
- [1, 5, 5, 5, 5, 5, 5, 5, 1, 2, 7, 7, 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, 3, 3, 3, 3, 1, 6, 6, 6, 6, 6, 6, 6, 2, 8, 8, 8, 8, 8, 8, 8, 8, 2] | ||
- [6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 1, 3, 3, 3, 3, 1, 4, 4, 4, 4, 4, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 5, 5, 5, 5, 5, 1, 2] | ||
- [2, 3, 3, 3, 3, 2, 5, 5, 5, 5, 5, 5, 5, 1, 2, 1, 4, 4, 4, 4, 4, 1, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6] | ||
|
||
# reels lengths [46, 46, 46], total reshuffles 97336 | ||
# RTP = 102.017753% | ||
102.017753: | ||
- [6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 2, 1, 2, 1, 2, 7, 7, 7, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 1, 3, 3, 3, 3, 8, 8, 8, 8, 8, 8, 8, 8] | ||
- [1, 2, 6, 6, 6, 6, 6, 6, 6, 6, 1, 7, 7, 7, 7, 7, 7, 7, 7, 1, 8, 8, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 4, 4, 2, 5, 5, 5, 5, 5, 5, 2, 3, 3, 3, 3] | ||
- [6, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 3, 3, 3, 3, 2, 1, 2, 1, 2, 1] | ||
|
||
# reels lengths [44, 44, 44], total reshuffles 85184 | ||
# RTP = 104.409279% | ||
104.409279: | ||
- [1, 5, 5, 5, 5, 5, 5, 5, 1, 2, 7, 7, 7, 7, 7, 7, 7, 4, 4, 4, 4, 4, 3, 3, 3, 3, 1, 6, 6, 6, 6, 6, 6, 6, 2, 8, 8, 8, 8, 8, 8, 8, 8, 2] | ||
- [1, 5, 5, 5, 5, 5, 5, 5, 2, 6, 6, 6, 6, 6, 6, 6, 4, 4, 4, 4, 4, 3, 3, 3, 3, 1, 2, 1, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 2] | ||
- [2, 3, 3, 3, 3, 2, 5, 5, 5, 5, 5, 5, 5, 1, 2, 1, 4, 4, 4, 4, 4, 1, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6] | ||
|
||
# reels lengths [43, 43, 43], total reshuffles 79507 | ||
# RTP = 107.072333% | ||
107.072333: | ||
- [4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 1, 5, 5, 5, 5, 5, 5, 1, 6, 6, 6, 6, 6, 6, 6, 2, 1, 2] | ||
- [5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 1, 7, 7, 7, 7, 7, 7, 7, 1, 6, 6, 6, 6, 6, 6, 6, 1, 2, 3, 3, 3, 3, 2, 8, 8, 8, 8, 8, 8, 8, 8, 2] | ||
- [6, 6, 6, 6, 6, 6, 6, 2, 1, 3, 3, 3, 3, 1, 4, 4, 4, 4, 4, 2, 5, 5, 5, 5, 5, 5, 8, 8, 8, 8, 8, 8, 8, 8, 1, 7, 7, 7, 7, 7, 7, 7, 2] | ||
|
||
# reels lengths [42, 42, 42], total reshuffles 74088 | ||
# RTP = 111.475543% | ||
111.475543: | ||
- [6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 2, 1, 2, 1, 2, 4, 4, 4, 4, 4, 1, 8, 8, 8, 8, 8, 8, 8, 8] | ||
- [2, 1, 2, 1, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 1, 8, 8, 8, 8, 8, 8, 8, 8, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5] | ||
- [8, 8, 8, 8, 8, 8, 8, 8, 2, 4, 4, 4, 4, 4, 2, 1, 3, 3, 3, 3, 1, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 2, 7, 7, 7, 7, 7, 7, 7, 1] | ||
|
||
# reels lengths [42, 42, 42], total reshuffles 74088 | ||
# RTP = 113.763362% | ||
113.763362: | ||
- [2, 1, 3, 3, 3, 3, 1, 4, 4, 4, 4, 4, 2, 8, 8, 8, 8, 8, 8, 8, 2, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 1, 7, 7, 7, 7, 7, 7, 7] | ||
- [8, 8, 8, 8, 8, 8, 8, 1, 2, 7, 7, 7, 7, 7, 7, 7, 2, 4, 4, 4, 4, 4, 2, 1, 5, 5, 5, 5, 5, 5, 1, 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, 6] | ||
- [8, 8, 8, 8, 8, 8, 8, 6, 6, 6, 6, 6, 6, 6, 1, 7, 7, 7, 7, 7, 7, 7, 1, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 2, 1, 2, 4, 4, 4, 4, 4, 2] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
package halloween | ||
|
||
// See: https://demo.agtsoftware.com/games/agt/halloween | ||
|
||
import ( | ||
_ "embed" | ||
|
||
"github.com/slotopol/server/game/slot" | ||
) | ||
|
||
//go:embed halloween_reel.yaml | ||
var reels []byte | ||
|
||
var ReelsMap = slot.ReadMap[*slot.Reels3x](reels) | ||
|
||
// Lined payment. | ||
var LinePay = [8]float64{ | ||
1000, // 1 pumpkin | ||
500, // 2 witch | ||
200, // 3 castle | ||
100, // 4 scarecrow | ||
30, // 5 ghost | ||
20, // 6 spider | ||
10, // 7 skeleton | ||
5, // 8 candles | ||
} | ||
|
||
// Bet lines | ||
var BetLines = []slot.Linex{ | ||
{2, 2, 2}, // 1 | ||
{1, 1, 1}, // 2 | ||
{3, 3, 3}, // 3 | ||
{1, 2, 3}, // 4 | ||
{3, 2, 1}, // 5 | ||
{1, 2, 1}, // 6 | ||
{2, 3, 2}, // 7 | ||
{2, 1, 2}, // 8 | ||
{3, 2, 3}, // 9 | ||
{2, 2, 1}, // 10 | ||
} | ||
|
||
type Game struct { | ||
slot.Slot3x3 `yaml:",inline"` | ||
} | ||
|
||
// Declare conformity with SlotGame interface. | ||
var _ slot.SlotGame = (*Game)(nil) | ||
|
||
func NewGame() *Game { | ||
return &Game{ | ||
Slot3x3: slot.Slot3x3{ | ||
Sel: len(BetLines), | ||
Bet: 1, | ||
}, | ||
} | ||
} | ||
|
||
func (g *Game) Scanner(screen slot.Screen, wins *slot.Wins) { | ||
for li := 1; li <= g.Sel; li++ { | ||
var line = BetLines[li-1] | ||
var sym1, sym2, sym3 = screen.Pos(1, line), screen.Pos(2, line), screen.Pos(3, line) | ||
if sym1 == sym2 && sym1 == sym3 { | ||
*wins = append(*wins, slot.WinItem{ | ||
Pay: g.Bet * LinePay[sym1-1], | ||
Mult: 1, | ||
Sym: sym1, | ||
Num: 3, | ||
Line: li, | ||
XY: line, // whole line is used | ||
}) | ||
} | ||
} | ||
} | ||
|
||
func (g *Game) Spin(screen slot.Screen, mrtp float64) { | ||
var reels, _ = slot.FindReels(ReelsMap, mrtp) | ||
screen.Spin(reels) | ||
} | ||
|
||
func (g *Game) SetSel(sel int) error { | ||
return slot.ErrNoFeature | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.