随机数优化

This commit is contained in:
hahwu 2026-02-09 14:30:56 +08:00
parent f42dd2dd95
commit b66bfa0209
4 changed files with 29 additions and 10 deletions

View File

@ -1,6 +1,7 @@
package game
import (
"server/game/mod/card"
"server/game/mod/chess"
"server/game/mod/decorate"
limitedTimeEvent "server/game/mod/limited_time_event"
@ -17,3 +18,7 @@ func (p *Player) GetDecorateMod() *decorate.Decorate {
func (p *Player) GetLimitEventMod() *limitedTimeEvent.LimitedTimeEventMod {
return p.PlayMod.getLimitedTimeEventMod()
}
func (p *Player) GetCardMod() *card.CardMod {
return p.PlayMod.getCardMod()
}

View File

@ -1,5 +1,7 @@
package GoUtil
import "math/rand"
func RandNum(start int, end int) int {
if start > end {
return 0
@ -7,5 +9,5 @@ func RandNum(start int, end int) int {
if start == end {
return start
}
return start + GetRand().Intn(end-start+1)
return start + rand.Intn(end-start+1)
}

View File

@ -2,6 +2,7 @@ package GoUtil
import (
"fmt"
"math/rand"
"reflect"
"server/game/mod/item"
"sort"
@ -51,7 +52,7 @@ func RandPopSlice(slice []int) ([]int, int) {
if slen == 0 {
return slice, -1
}
Id := GetRand().Intn(slen)
Id := rand.Intn(slen)
Val := slice[Id]
Slice2 := append(slice[0:Id], slice[Id+1:]...)
return Slice2, Val
@ -62,7 +63,7 @@ func RandSlice(slice []int) int {
if slen == 0 {
return 0
}
Id := GetRand().Intn(slen)
Id := rand.Intn(slen)
return slice[Id]
}
@ -71,7 +72,7 @@ func RandItem(slice []*item.Item) *item.Item {
if slen == 0 {
return nil
}
Id := GetRand().Intn(slen)
Id := rand.Intn(slen)
return slice[Id]
}
@ -84,7 +85,7 @@ func RandSliceNum(s []int, num int) []int {
}
for i := 0; i < num; i++ {
Id := GetRand().Intn(len(slice))
Id := rand.Intn(len(slice))
r = append(r, slice[Id])
slice = append(slice[0:Id], slice[Id+1:]...)
}
@ -100,7 +101,7 @@ func RandSliceNum2(s []interface{}, num int) []interface{} {
}
for i := 0; i < num; i++ {
Id := GetRand().Intn(len(slice))
Id := rand.Intn(len(slice))
r = append(r, slice[Id])
slice = append(slice[0:Id], slice[Id+1:]...)
}
@ -116,7 +117,7 @@ func RandSliceNumNonAdjacent(s []int, num int) []int {
sort.Ints(slice)
result := make([]int, 0, num)
for len(result) < num {
Id := GetRand().Intn(len(slice))
Id := rand.Intn(len(slice))
result = append(result, slice[Id])
slice = SubAdjacentElemSlice(slice, Id)
}
@ -138,7 +139,7 @@ func RandStringSlice(slice []string) string {
if slen == 0 {
return ""
}
Id := GetRand().Intn(slen)
Id := rand.Intn(slen)
return slice[Id]
}
@ -335,7 +336,7 @@ func PopStringArray(s []string) (string, []string) {
func ShuffleStringArray(s []string) []string {
r := make([]string, len(s))
perm := GetRand().Perm(len(s))
perm := rand.Perm(len(s))
for i, v := range perm {
r[v] = s[i]
}
@ -344,7 +345,7 @@ func ShuffleStringArray(s []string) []string {
func ShuffleArray(s []int) []int {
r := make([]int, len(s))
perm := GetRand().Perm(len(s))
perm := rand.Perm(len(s))
for i, v := range perm {
r[v] = s[i]
}

View File

@ -78,3 +78,14 @@ func TestFixUserData(t *testing.T) {
}
log.Debug("All accounts fixed")
}
func TestRandInt(t *testing.T) {
p1 := new(game.Player)
p1.InitPlayer("3625212")
CardMod := p1.GetCardMod()
CardMod.CardLimit = true
for i := 0; i < 20; i++ {
cardid, _ := CardMod.OpenCardPack(5)
log.Debug("cardid is %d", cardid)
}
}