Documentation ¶
Index ¶
- Variables
- func CalcStatBon(ctx context.Context, rn string) float64
- func CalcStatReg(ctx context.Context, rn string) float64
- func ChampagneSpawn(bet float64) (any, float64)
- func ExpBottle() float64
- type Game
- func (g *Game) Apply(screen game.Screen, sw *game.WinScan)
- func (g *Game) FreeSpins() int
- func (g *Game) ScanLined(screen game.Screen, ws *game.WinScan)
- func (g *Game) ScanScatters(screen game.Screen, ws *game.WinScan)
- func (g *Game) Scanner(screen game.Screen, ws *game.WinScan)
- func (g *Game) SetLines(sbl game.SBL) error
- func (g *Game) SetReels(rd string) error
- func (g *Game) Spawn(screen game.Screen, sw *game.WinScan)
- func (g *Game) Spin(screen game.Screen)
- type WinBottle
Constants ¶
This section is empty.
Variables ¶
var Bottles = [36]float64{
10, 10, 10, 10, 10, 10,
20, 20, 20, 20, 20, 20,
30, 30, 30, 30, 30, 30,
50, 50, 50, 50, 50, 50,
100, 100, 100, 100,
150, 150, 150, 150,
300, 300,
500, 500,
}
len = 36, count = 630, avr bottle gain = 90.555556, M = 193.65079365079
var Emjc float64 // Bottle game calculated expectation
var Jackpot = [12][5]int{
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, jid},
{0, 0, 0, 0, 0},
}
Jackpot win combinations.
var LineBonus = [12][5]int{
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, mjc},
}
Lined bonus games
var LinePay = [12][5]float64{
{0, 0, 0, 0, 0},
{0, 3, 5, 20, 100},
{0, 3, 5, 20, 100},
{0, 0, 5, 20, 100},
{0, 0, 5, 20, 100},
{0, 0, 5, 20, 100},
{0, 0, 5, 20, 100},
{0, 0, 5, 20, 100},
{0, 5, 10, 20, 1000},
{0, 7, 10, 20, 1000},
{0, 10, 100, 2000, 10000},
{0, 0, 0, 0, 0},
}
Lined payment.
var Reels964 = game.Reels5x{
{12, 1, 5, 2, 12, 11, 2, 11, 12, 3, 2, 8, 12, 3, 4, 6, 12, 2, 5, 10, 3, 9, 7, 8, 4, 3, 7, 9, 2, 3, 4, 6},
{2, 5, 10, 12, 9, 6, 3, 4, 12, 2, 6, 8, 3, 12, 11, 2, 11, 12, 5, 7, 4, 6, 3, 4, 12, 2, 5, 8, 2, 7, 1, 9},
{12, 5, 10, 12, 9, 6, 3, 4, 12, 2, 6, 8, 3, 12, 11, 2, 11, 12, 5, 7, 4, 6, 3, 4, 12, 2, 5, 8, 12, 7, 1, 9},
{12, 8, 2, 12, 6, 5, 2, 4, 12, 2, 1, 3, 2, 9, 7, 12, 11, 11, 11, 11, 12, 5, 2, 12, 8, 6, 2, 3, 10, 12, 2, 4},
{12, 11, 7, 12, 6, 4, 12, 3, 2, 12, 3, 7, 12, 3, 5, 1, 12, 3, 8, 9, 12, 4, 3, 2, 12, 5, 3, 10, 2, 12, 3, 6},
}
Original reels. *bonus reels calculations* reels lengths [32, 32, 32, 32, 32], total reshuffles 33554432 symbols: 135.5(lined) + 0.7242(scatter) = 136.224294% free games 7171740, q = 0.21373, sq = 1/(1-q) = 1.271835 champagne bonuses: count 11025, rtp = 6.362796% jackpots: count 32, frequency 1/1048576 RTP = sq*(rtp(sym)+rtp(mjc)) = 1.2718*(136.22+6.3628) = 181.347256% *regular reels calculations* reels lengths [32, 32, 32, 32, 32], total reshuffles 33554432 symbols: 69.974(lined) + 0.7242(scatter) = 70.698214% free games 3585870, q = 0.106867 champagne bonuses: count 11025, rtp = 6.362796% jackpots: count 32, frequency 1/1048576 RTP = rtp(sym) + rtp(mjc) + q*rtp(fg) = 70.698 + 6.3628 + 0.10687*181.35 = 96.441093%
var ReelsMap = map[string]*game.Reels5x{ "96": &Reels964, }
Map with available reels.
var ScatFreespinBon = [5]int{0, 0, 30, 30, 30} // 1 dollar
Scatter freespins table
var ScatFreespinReg = [5]int{0, 0, 15, 15, 15} // 1 dollar
Scatter freespins table
var ScatPay = [5]float64{0, 0, 0, 0, 1000} // 1 dollar
Scatters payment.
var Special = [12]bool{ true, false, false, false, false, false, false, false, false, false, false, true, }
Not from lined paytable.