Documentation ¶
Index ¶
- Variables
- func BruteForce5x(ctx context.Context, s game.Stater, g game.SlotGame, reels game.Reels, ...)
- func CalcStatBon(ctx context.Context, rn string) (rtp float64)
- func CalcStatReg(ctx context.Context, rn string) float64
- func CalcStatSym(ctx context.Context, g *Game, reels game.Reels, gs game.Sym) float64
- func FindReels(mrtp float64) (rtp float64, reels game.Reels)
- type Game
- func (g *Game) Apply(screen game.Screen, wins game.Wins)
- func (g *Game) FreeSpins() int
- func (g *Game) ScanLined(screen game.Screen, wins *game.Wins)
- func (g *Game) ScanScatters(screen game.Screen, wins *game.Wins)
- func (g *Game) Scanner(screen game.Screen, wins *game.Wins)
- func (g *Game) SetLines(sbl game.Bitset) error
- func (g *Game) Spin(screen game.Screen, mrtp float64)
Constants ¶
This section is empty.
Variables ¶
var LinePay = [13][5]float64{
{0, 0, 20, 50, 100},
{0, 0, 10, 25, 50},
{0, 0, 10, 25, 50},
{0, 0, 4, 10, 20},
{0, 0, 4, 10, 20},
{0, 0, 4, 10, 20},
{0, 0, 4, 10, 20},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
}
Lined payment.
var Reels100 = game.Reels5x{
{7, 2, 5, 4, 6, 5, 7, 4, 6, 1, 3, 5, 2, 6, 1, 4, 2, 1, 7, 6, 4, 3, 1, 6, 7, 2, 3, 8, 5, 7, 3, 9, 5},
{6, 8, 5, 1, 2, 7, 1, 6, 2, 3, 1, 6, 4, 7, 5, 4, 3, 6, 5, 2, 4, 5, 1, 3, 7, 4, 2, 9, 5, 7, 6, 3, 7},
{5, 2, 3, 6, 4, 5, 2, 7, 5, 6, 7, 3, 5, 2, 8, 4, 7, 5, 2, 1, 4, 3, 7, 4, 6, 3, 1, 6, 7, 1, 9, 6, 1},
{7, 6, 1, 7, 9, 5, 3, 7, 6, 5, 1, 3, 2, 5, 6, 4, 1, 7, 2, 4, 5, 7, 6, 4, 1, 3, 2, 6, 8, 3, 2, 5, 4},
{3, 1, 2, 6, 5, 2, 6, 7, 5, 4, 6, 1, 4, 3, 7, 1, 5, 4, 1, 3, 5, 9, 2, 7, 6, 8, 5, 7, 4, 2, 3, 6, 7},
}
*bonus reels calculations* RTP[1] = 679.52(lined) + 0.41322(scatter) = 679.935721% RTP[2] = 339.76(lined) + 0.41322(scatter) = 340.174472% RTP[3] = 339.76(lined) + 0.41322(scatter) = 340.174472% RTP[4] = 135.9(lined) + 0.41322(scatter) = 136.317723% RTP[5] = 174.47(lined) + 0.41322(scatter) = 174.885216% RTP[6] = 174.47(lined) + 0.41322(scatter) = 174.885216% RTP[7] = 174.47(lined) + 0.41322(scatter) = 174.885216% average freespins RTP = 288.751148% *regular reels calculations* reels lengths [33, 33, 33, 33, 33], total reshuffles 39135393 symbols: 14.911(lined) + 67.06(scatter) = 81.970129% free spins 2430000, q = 0.062092 free games frequency: 1/161.05 RTP = 81.97(sym) + 0.062092*288.75(fg) = 99.899303%
var Reels109 = game.Reels5x{
{7, 4, 2, 6, 1, 2, 4, 1, 3, 2, 5, 7, 9, 1, 5, 6, 7, 3, 4, 1, 5, 3, 8, 1, 6, 2, 7, 4, 3, 6, 5, 2, 3},
{1, 3, 9, 6, 4, 5, 1, 8, 2, 5, 1, 7, 4, 6, 2, 1, 4, 2, 3, 5, 4, 2, 1, 7, 3, 6, 7, 3, 2, 6, 3, 7, 5},
{6, 1, 5, 9, 3, 7, 1, 3, 6, 4, 5, 2, 4, 7, 1, 5, 2, 3, 1, 8, 3, 2, 7, 4, 2, 1, 6, 2, 3, 5, 6, 7, 4},
{4, 2, 1, 3, 4, 2, 6, 5, 2, 7, 1, 3, 6, 5, 4, 1, 2, 6, 8, 3, 1, 7, 3, 5, 7, 4, 2, 3, 5, 9, 6, 7, 1},
{1, 2, 7, 1, 5, 2, 4, 5, 2, 6, 1, 3, 9, 4, 2, 3, 7, 6, 4, 2, 5, 3, 8, 4, 5, 1, 3, 6, 1, 7, 3, 6, 7},
}
*bonus reels calculations* RTP[1] = 872.36(lined) + 0.41322(scatter) = 872.773186% RTP[2] = 436.18(lined) + 0.41322(scatter) = 436.593205% RTP[3] = 436.18(lined) + 0.41322(scatter) = 436.593205% RTP[4] = 135.9(lined) + 0.41322(scatter) = 136.317723% RTP[5] = 135.9(lined) + 0.41322(scatter) = 136.317723% RTP[6] = 135.9(lined) + 0.41322(scatter) = 136.317723% RTP[7] = 135.9(lined) + 0.41322(scatter) = 136.317723% average freespins RTP = 327.318641% *regular reels calculations* reels lengths [33, 33, 33, 33, 33], total reshuffles 39135393 symbols: 21.346(lined) + 67.06(scatter) = 88.405521% free spins 2430000, q = 0.062092 free games frequency: 1/161.05 RTP = 88.406(sym) + 0.062092*327.32(fg) = 108.729433%
var Reels83 = game.Reels5x{
{5, 8, 7, 2, 4, 7, 3, 9, 4, 5, 2, 4, 6, 1, 3, 6, 4, 2, 5, 6, 1, 5, 4, 3, 7, 2, 3, 1, 6, 7, 1, 6, 5, 7, 1},
{4, 2, 1, 8, 7, 1, 9, 7, 5, 3, 4, 6, 1, 2, 4, 5, 1, 4, 7, 3, 1, 6, 4, 5, 7, 2, 3, 6, 7, 5, 6, 2, 5, 3, 6},
{1, 8, 5, 2, 4, 6, 3, 7, 4, 5, 2, 7, 6, 3, 1, 2, 4, 6, 7, 3, 5, 7, 1, 4, 9, 6, 5, 1, 7, 4, 5, 1, 3, 2, 6},
{7, 4, 3, 5, 1, 6, 2, 4, 1, 6, 5, 9, 4, 3, 2, 6, 1, 5, 4, 6, 7, 8, 6, 7, 3, 4, 7, 1, 5, 2, 7, 5, 2, 1, 3},
{5, 2, 3, 6, 4, 3, 7, 4, 3, 2, 1, 4, 5, 7, 1, 6, 7, 5, 3, 4, 2, 6, 8, 5, 6, 1, 7, 2, 9, 1, 5, 6, 1, 7, 4},
}
*bonus reels calculations* RTP[1] = 816.33(lined) + 0.36735(scatter) = 816.693878% RTP[2] = 318.37(lined) + 0.36735(scatter) = 318.734694% RTP[3] = 318.37(lined) + 0.36735(scatter) = 318.734694% RTP[4] = 163.27(lined) + 0.36735(scatter) = 163.632653% RTP[5] = 163.27(lined) + 0.36735(scatter) = 163.632653% RTP[6] = 163.27(lined) + 0.36735(scatter) = 163.632653% RTP[7] = 163.27(lined) + 0.36735(scatter) = 163.632653% average freespins RTP = 301.241983% *regular reels calculations* reels lengths [35, 35, 35, 35, 35], total reshuffles 52521875 symbols: 16.875(lined) + 50.653(scatter) = 67.528054% free spins 2764800, q = 0.052641 free games frequency: 1/189.97 RTP = 67.528(sym) + 0.052641*301.24(fg) = 83.385710%
var Reels89 = game.Reels5x{
{2, 6, 4, 5, 7, 3, 6, 7, 5, 1, 3, 6, 4, 5, 7, 1, 4, 2, 8, 6, 3, 7, 5, 6, 2, 9, 4, 1, 3, 4, 2, 5, 7, 1},
{5, 4, 9, 6, 7, 5, 2, 3, 1, 6, 5, 1, 6, 3, 5, 1, 8, 4, 3, 5, 7, 4, 6, 2, 4, 7, 6, 4, 2, 1, 7, 3, 2, 7},
{2, 3, 4, 2, 5, 4, 7, 5, 6, 1, 5, 6, 1, 3, 4, 2, 7, 5, 1, 6, 7, 3, 5, 7, 3, 8, 4, 7, 6, 2, 1, 6, 9, 4},
{6, 7, 5, 6, 8, 7, 5, 2, 7, 4, 6, 1, 5, 2, 3, 1, 4, 3, 9, 4, 1, 6, 5, 7, 3, 2, 6, 5, 2, 4, 3, 7, 1, 4},
{6, 7, 4, 1, 5, 3, 6, 4, 1, 5, 4, 7, 5, 2, 4, 7, 2, 8, 6, 3, 5, 6, 2, 1, 3, 2, 7, 1, 5, 6, 4, 7, 3, 9},
}
*bonus reels calculations* RTP[1] = 657.44(lined) + 0.38927(scatter) = 657.828720% RTP[2] = 328.72(lined) + 0.38927(scatter) = 329.108997% RTP[3] = 328.72(lined) + 0.38927(scatter) = 329.108997% RTP[4] = 168.69(lined) + 0.38927(scatter) = 169.074394% RTP[5] = 168.69(lined) + 0.38927(scatter) = 169.074394% RTP[6] = 168.69(lined) + 0.38927(scatter) = 169.074394% RTP[7] = 168.69(lined) + 0.38927(scatter) = 169.074394% average freespins RTP = 284.620613% *regular reels calculations* reels lengths [34, 34, 34, 34, 34], total reshuffles 45435424 symbols: 14.374(lined) + 58.146(scatter) = 72.520518% free spins 2594700, q = 0.057107 free games frequency: 1/175.11 RTP = 72.521(sym) + 0.057107*284.62(fg) = 88.774468%
var Reels92 = game.Reels5x{
{5, 8, 7, 2, 4, 7, 3, 9, 4, 5, 2, 4, 6, 1, 3, 6, 4, 2, 5, 6, 1, 5, 4, 3, 7, 2, 3, 1, 6, 7, 1, 6, 5, 7, 1},
{4, 2, 1, 8, 7, 1, 9, 7, 5, 3, 4, 6, 1, 2, 4, 5, 1, 4, 7, 3, 1, 6, 4, 5, 7, 2, 3, 6, 7, 5, 6, 2, 5, 3, 6},
{2, 1, 3, 2, 7, 5, 8, 7, 6, 1, 3, 4, 5, 6, 1, 5, 6, 3, 7, 6, 3, 7, 4, 6, 8, 1, 5, 4, 2, 7, 4, 1, 5, 2, 4, 9},
{7, 4, 3, 5, 1, 6, 2, 4, 1, 6, 5, 9, 4, 3, 2, 6, 1, 5, 4, 6, 7, 8, 6, 7, 3, 4, 7, 1, 5, 2, 7, 5, 2, 1, 3},
{5, 2, 3, 6, 4, 3, 7, 4, 3, 2, 1, 4, 5, 7, 1, 6, 7, 5, 3, 4, 2, 6, 8, 5, 6, 1, 7, 2, 9, 1, 5, 6, 1, 7, 4},
}
*bonus reels calculations* RTP[1] = 816.33(lined) + 0.36735(scatter) = 816.693878% RTP[2] = 318.37(lined) + 0.36735(scatter) = 318.734694% RTP[3] = 318.37(lined) + 0.36735(scatter) = 318.734694% RTP[4] = 163.27(lined) + 0.36735(scatter) = 163.632653% RTP[5] = 163.27(lined) + 0.36735(scatter) = 163.632653% RTP[6] = 163.27(lined) + 0.36735(scatter) = 163.632653% RTP[7] = 163.27(lined) + 0.36735(scatter) = 163.632653% average freespins RTP = 301.241983% *regular reels calculations* reels lengths [35, 35, 36, 35, 35], total reshuffles 54022500 symbols: 16.406(lined) + 51.118(scatter) = 67.524561% free spins 4354560, q = 0.080606 free games frequency: 1/124.06 RTP = 67.525(sym) + 0.080606*301.24(fg) = 91.806597%
var Reels95 = game.Reels5x{
{5, 8, 7, 2, 4, 7, 3, 9, 4, 5, 2, 4, 6, 1, 3, 6, 4, 2, 5, 6, 1, 5, 4, 3, 7, 2, 3, 1, 6, 7, 1, 6, 5, 7, 1},
{5, 6, 4, 5, 6, 1, 4, 3, 6, 2, 4, 1, 7, 9, 4, 3, 7, 2, 6, 7, 3, 2, 5, 6, 7, 5, 1, 4, 8, 2, 7, 5, 1, 3},
{7, 5, 4, 3, 5, 6, 1, 4, 6, 3, 1, 8, 6, 2, 7, 1, 2, 7, 5, 4, 2, 5, 3, 7, 2, 3, 1, 9, 4, 6},
{4, 5, 2, 1, 3, 7, 1, 4, 6, 2, 1, 7, 4, 5, 2, 9, 6, 3, 7, 5, 1, 6, 4, 3, 7, 4, 5, 6, 3, 2, 6, 8, 5, 7},
{5, 2, 3, 6, 4, 3, 7, 4, 3, 2, 1, 4, 5, 7, 1, 6, 7, 5, 3, 4, 2, 6, 8, 5, 6, 1, 7, 2, 9, 1, 5, 6, 1, 7, 4},
}
*bonus reels calculations* RTP[1] = 816.33(lined) + 0.36735(scatter) = 816.693878% RTP[2] = 318.37(lined) + 0.36735(scatter) = 318.734694% RTP[3] = 318.37(lined) + 0.36735(scatter) = 318.734694% RTP[4] = 163.27(lined) + 0.36735(scatter) = 163.632653% RTP[5] = 163.27(lined) + 0.36735(scatter) = 163.632653% RTP[6] = 163.27(lined) + 0.36735(scatter) = 163.632653% RTP[7] = 163.27(lined) + 0.36735(scatter) = 163.632653% average freespins RTP = 301.241983% *regular reels calculations* reels lengths [35, 34, 30, 34, 35], total reshuffles 42483000 symbols: 15.505(lined) + 62.01(scatter) = 77.515026% free spins 2525850, q = 0.059456 free games frequency: 1/168.19 RTP = 77.515(sym) + 0.059456*301.24(fg) = 95.425533%
var Reels97 = game.Reels5x{
{2, 6, 4, 5, 7, 3, 6, 7, 5, 1, 3, 6, 4, 5, 7, 1, 4, 2, 8, 6, 3, 7, 5, 6, 2, 9, 4, 1, 3, 4, 2, 5, 7, 1},
{5, 4, 9, 6, 7, 5, 2, 3, 1, 6, 5, 1, 6, 3, 5, 1, 8, 4, 3, 5, 7, 4, 6, 2, 4, 7, 6, 4, 2, 1, 7, 3, 2, 7},
{5, 3, 6, 1, 5, 3, 7, 8, 4, 5, 2, 6, 7, 4, 3, 1, 8, 6, 5, 7, 6, 2, 1, 4, 2, 3, 7, 5, 4, 2, 9, 4, 6, 1, 7},
{6, 7, 5, 6, 8, 7, 5, 2, 7, 4, 6, 1, 5, 2, 3, 1, 4, 3, 9, 4, 1, 6, 5, 7, 3, 2, 6, 5, 2, 4, 3, 7, 1, 4},
{6, 7, 4, 1, 5, 3, 6, 4, 1, 5, 4, 7, 5, 2, 4, 7, 2, 8, 6, 3, 5, 6, 2, 1, 3, 2, 7, 1, 5, 6, 4, 7, 3, 9},
}
*bonus reels calculations* RTP[1] = 657.44(lined) + 0.38927(scatter) = 657.828720% RTP[2] = 328.72(lined) + 0.38927(scatter) = 329.108997% RTP[3] = 328.72(lined) + 0.38927(scatter) = 329.108997% RTP[4] = 168.69(lined) + 0.38927(scatter) = 169.074394% RTP[5] = 168.69(lined) + 0.38927(scatter) = 169.074394% RTP[6] = 168.69(lined) + 0.38927(scatter) = 169.074394% RTP[7] = 168.69(lined) + 0.38927(scatter) = 169.074394% average freespins RTP = 284.620613% *regular reels calculations* reels lengths [34, 34, 35, 34, 34], total reshuffles 46771760 symbols: 13.964(lined) + 58.476(scatter) = 72.439667% free spins 4084560, q = 0.087330 free games frequency: 1/114.51 RTP = 72.44(sym) + 0.08733*284.62(fg) = 97.295476%
var ReelsMap = map[float64]*game.Reels5x{ 83.385710: &Reels83, 88.774468: &Reels89, 91.806597: &Reels92, 95.425533: &Reels95, 97.295476: &Reels97, 99.899303: &Reels100, 108.729433: &Reels109, }
Map with available reels.
var ScatFreespin = [5]int{0, 0, 10} // 8 bonus
Scatter freespins table
var ScatPay = [5]float64{0, 0.5, 3} // 8 bonus
Scatters payment.