stats

package
v0.10.191 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FeatureBasic    = 1
	FeatureRespin   = 2
	FeatureFreeGame = 3
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Feature

type Feature struct {
	Name           string
	Type           FeatureType
	PlayTimes      int64
	TotalBets      int64
	TotalWins      int64
	TriggerTimes   int64
	RetriggerTimes int64
	FreeSpinTimes  int64
	RoundTimes     int64
	Parent         *Feature
	Children       []*Feature
	OnAnalyze      FuncAnalyzeFeature
	Reels          *Reels
	Symbols        *SymbolsRTP
	CurWins        *Wins
	AllWins        *Wins
	Obj            any
}

func NewFeature

func NewFeature(name string, ft FeatureType, onAnalyze FuncAnalyzeFeature, parent *Feature) *Feature

func (*Feature) Clone

func (feature *Feature) Clone() *Feature

func (*Feature) CloneIncludeChildren

func (feature *Feature) CloneIncludeChildren() *Feature

func (*Feature) GetPlayTimes

func (feature *Feature) GetPlayTimes() int64

func (*Feature) GetTotalBets

func (feature *Feature) GetTotalBets() int64

func (*Feature) Merge

func (feature *Feature) Merge(src *Feature)

func (*Feature) OnFreeSpin

func (feature *Feature) OnFreeSpin()

func (*Feature) OnResults

func (feature *Feature) OnResults(stake *sgc7game.Stake, lst []*sgc7game.PlayResult)

func (*Feature) OnRound

func (feature *Feature) OnRound()

func (*Feature) Retrigger

func (feature *Feature) Retrigger()

func (*Feature) SaveExcel

func (feature *Feature) SaveExcel(fn string) error

type FeatureType

type FeatureType int

type FuncAnalyzeFeature

type FuncAnalyzeFeature func(*Feature, *sgc7game.Stake, []*sgc7game.PlayResult) (bool, int64, int64)

isTrigger, bet, wins

type Reel

type Reel struct {
	Index      int
	MapSymbols map[mathtoolset.SymbolType]*SymbolStats
	TotalTimes int64
}

func NewReel

func NewReel(i int, lst []mathtoolset.SymbolType) *Reel

func (*Reel) CalcHitRate

func (reel *Reel) CalcHitRate(s mathtoolset.SymbolType) float64

func (*Reel) Clone

func (reel *Reel) Clone() *Reel

func (*Reel) GenSymbols

func (reel *Reel) GenSymbols(symbols []mathtoolset.SymbolType) []mathtoolset.SymbolType

func (*Reel) Merge

func (reel *Reel) Merge(src *Reel)

func (*Reel) OnScene

func (reel *Reel) OnScene(scene *sgc7game.GameScene)

func (*Reel) OnSymbols

func (reel *Reel) OnSymbols(lst []mathtoolset.SymbolType)

type Reels

type Reels struct {
	Reels []*Reel
}

func NewReels

func NewReels(width int, lst []mathtoolset.SymbolType) *Reels

func (*Reels) Clone

func (reels *Reels) Clone() *Reels

func (*Reels) GenSymbols

func (reels *Reels) GenSymbols() []mathtoolset.SymbolType

func (*Reels) Merge

func (reels *Reels) Merge(src *Reels)

func (*Reels) OnReelSymbols

func (reels *Reels) OnReelSymbols(mapSyms map[int][]mathtoolset.SymbolType)

func (*Reels) OnScene

func (reels *Reels) OnScene(scene *sgc7game.GameScene)

func (*Reels) SaveSheet

func (reels *Reels) SaveSheet(f *excelize.File, sheet string) error

type SymbolRTP

type SymbolRTP struct {
	Symbol mathtoolset.SymbolType
	Wins   []int64
}

func NewSymbolRTP

func NewSymbolRTP(s mathtoolset.SymbolType, maxSymbolWinNum int) *SymbolRTP

func (*SymbolRTP) CalcRTP

func (srtp *SymbolRTP) CalcRTP(totalBets int64, num int) float64

func (*SymbolRTP) Clone

func (srtp *SymbolRTP) Clone() *SymbolRTP

func (*SymbolRTP) OnWin

func (srtp *SymbolRTP) OnWin(win *sgc7game.Result)

type SymbolStats

type SymbolStats struct {
	Symbol       mathtoolset.SymbolType
	TriggerTimes int64
}

func NewSymbolStats

func NewSymbolStats(s mathtoolset.SymbolType) *SymbolStats

func (*SymbolStats) CalcHitRate

func (ss *SymbolStats) CalcHitRate(totalTimes int64) float64

func (*SymbolStats) Clone

func (ss *SymbolStats) Clone() *SymbolStats

type SymbolsRTP

type SymbolsRTP struct {
	MapSymbols      map[mathtoolset.SymbolType]*SymbolRTP
	MaxSymbolWinNum int
}

func NewSymbolsRTP

func NewSymbolsRTP(maxSymbolWinNum int, lst []mathtoolset.SymbolType) *SymbolsRTP

func (*SymbolsRTP) Clone

func (ssrtp *SymbolsRTP) Clone() *SymbolsRTP

func (*SymbolsRTP) GenSymbols

func (ssrtp *SymbolsRTP) GenSymbols() []mathtoolset.SymbolType

func (*SymbolsRTP) Merge

func (ssrtp *SymbolsRTP) Merge(src *SymbolsRTP)

func (*SymbolsRTP) OnWin

func (ssrtp *SymbolsRTP) OnWin(win *sgc7game.Result)

func (*SymbolsRTP) SaveSheet

func (ssrtp *SymbolsRTP) SaveSheet(f *excelize.File, sheet string, totalBet int64) error

type Wins

type Wins struct {
	MapWins    map[int]int64
	TotalTimes int64
}

func NewWins

func NewWins() *Wins

func (*Wins) AddWin

func (wins *Wins) AddWin(win int)

func (*Wins) Clone

func (wins *Wins) Clone() *Wins

func (*Wins) Merge

func (wins *Wins) Merge(src *Wins)

func (*Wins) SaveSheet

func (wins *Wins) SaveSheet(f *excelize.File, sheet string) error

Jump to

Keyboard shortcuts

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