35 lines
923 B
Go
35 lines
923 B
Go
package main
|
|
|
|
import (
|
|
"git.chromaticdragon.app/kistaro/CardSimEngine/cardsim"
|
|
)
|
|
|
|
// SmokeTestCollection is a stats collection for the simple test sim.
|
|
type SmokeTestCollection struct {
|
|
Number cardsim.Stored[int]
|
|
Total cardsim.Stored[int64]
|
|
Turns cardsim.Invisible[int]
|
|
|
|
Flavor cardsim.Stored[string]
|
|
|
|
Things int `cardsim:"stat" cardsim_name:"A Renamed Thing"`
|
|
MoreThings int `cardsim:"hidden"`
|
|
FloatyThings float64 `cardsim:"round1"`
|
|
Label string `cardsim:"stat"`
|
|
}
|
|
|
|
func (c *SmokeTestCollection) Average() float64 {
|
|
return float64(c.Total.Value) / float64(c.Turns.Value)
|
|
}
|
|
|
|
func (c *SmokeTestCollection) Stats() []cardsim.Stat {
|
|
stats := cardsim.ExtractStats(c)
|
|
stats = append(stats, cardsim.StatFunc("Average", c.Average))
|
|
cardsim.SortStats(stats)
|
|
return stats
|
|
}
|
|
|
|
func (c *SmokeTestCollection) StatTotalThings() float64 {
|
|
return float64(c.Things+c.MoreThings) + c.FloatyThings
|
|
}
|