diff --git a/src/server/game/mod_factory.go b/src/server/game/mod_factory.go index 3b8c07bb..458a94dc 100644 --- a/src/server/game/mod_factory.go +++ b/src/server/game/mod_factory.go @@ -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() +} diff --git a/src/server/game_util/mathUtil.go b/src/server/game_util/mathUtil.go index 709ff822..47e65f93 100644 --- a/src/server/game_util/mathUtil.go +++ b/src/server/game_util/mathUtil.go @@ -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) } diff --git a/src/server/game_util/sliceUtil.go b/src/server/game_util/sliceUtil.go index be29b52d..268c8402 100644 --- a/src/server/game_util/sliceUtil.go +++ b/src/server/game_util/sliceUtil.go @@ -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] } diff --git a/src/server/test/fix_test.go b/src/server/test/fix_test.go index ea90b595..dc537a18 100644 --- a/src/server/test/fix_test.go +++ b/src/server/test/fix_test.go @@ -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) + } +}