firejoker

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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.

View Source
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%

View Source
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%

View Source
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%

View Source
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%

View Source
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%

View Source
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%

View Source
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%

View Source
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.

View Source
var ScatFreespin = [5]int{0, 0, 10} // 8 bonus

Scatter freespins table

View Source
var ScatPay = [5]float64{0, 0.5, 3} // 8 bonus

Scatters payment.

Functions

func BruteForce5x

func BruteForce5x(ctx context.Context, s game.Stater, g game.SlotGame, reels game.Reels, gs game.Sym)

func CalcStatBon

func CalcStatBon(ctx context.Context, rn string) (rtp float64)

func CalcStatReg

func CalcStatReg(ctx context.Context, rn string) float64

func CalcStatSym

func CalcStatSym(ctx context.Context, g *Game, reels game.Reels, gs game.Sym) float64

func FindReels added in v0.3.0

func FindReels(mrtp float64) (rtp float64, reels game.Reels)

Types

type Game

type Game struct {
	game.Slot5x3 `yaml:",inline"`
	// free spin number
	FS int `json:"fs,omitempty" yaml:"fs,omitempty" xml:"fs,omitempty"`
}

func NewGame

func NewGame() *Game

func (*Game) Apply

func (g *Game) Apply(screen game.Screen, wins game.Wins)

func (*Game) FreeSpins

func (g *Game) FreeSpins() int

func (*Game) ScanLined

func (g *Game) ScanLined(screen game.Screen, wins *game.Wins)

Lined symbols calculation.

func (*Game) ScanScatters

func (g *Game) ScanScatters(screen game.Screen, wins *game.Wins)

Scatters calculation.

func (*Game) Scanner

func (g *Game) Scanner(screen game.Screen, wins *game.Wins)

func (*Game) SetLines

func (g *Game) SetLines(sbl game.Bitset) error

func (*Game) Spin

func (g *Game) Spin(screen game.Screen, mrtp float64)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL