game_sync/gamerule/hundredyxx/point.go

48 lines
1.1 KiB
Go

package hundredyxx
import (
"math/rand"
"time"
)
type DiceBox struct {
first *rand.Rand
second *rand.Rand
third *rand.Rand
count int
Point [DICE_NUM]int32
}
var AllRoll = [][DICE_NUM]int32{}
func CreateDiceBox() *DiceBox {
return &DiceBox{
count: 0,
first: rand.New(rand.NewSource(rand.Int63n(time.Now().UnixNano()))),
second: rand.New(rand.NewSource(rand.Int63n(time.Now().UnixNano()))),
third: rand.New(rand.NewSource(rand.Int63n(time.Now().UnixNano()))),
Point: [DICE_NUM]int32{},
}
}
func (bb *DiceBox) Roll() {
if bb.count > 10 {
bb.first = rand.New(rand.NewSource(rand.Int63n(time.Now().UnixNano())))
bb.second = rand.New(rand.NewSource(rand.Int63n(time.Now().UnixNano())))
bb.third = rand.New(rand.NewSource(rand.Int63n(time.Now().UnixNano())))
bb.count = 0
}
bb.count++
bb.Point[0] = bb.first.Int31n(6)
bb.Point[1] = bb.second.Int31n(6)
bb.Point[2] = bb.third.Int31n(6)
}
func init() {
for i := int32(0); i < 6; i++ {
for j := int32(0); j < 6; j++ {
for k := int32(0); k < 6; k++ {
AllRoll = append(AllRoll, [DICE_NUM]int32{i, j, k})
}
}
}
}