公会
This commit is contained in:
parent
cf7a3f542f
commit
da7f8895a6
@ -45,6 +45,7 @@ const (
|
||||
|
||||
// im server guild
|
||||
const (
|
||||
RandomGuildCount = 10
|
||||
MaxMembers = 10
|
||||
MaxPendingReqs = 10
|
||||
DefaultLogs = 20
|
||||
|
@ -432,16 +432,9 @@ func (gm *GuildMgr) SearchGuilds(keyword string) []Guild {
|
||||
return results
|
||||
}
|
||||
|
||||
func shuffleGuildIds(slice []*Guild) {
|
||||
for i := len(slice) - 1; i > 0; i-- {
|
||||
j := rand.Intn(i + 1)
|
||||
slice[i], slice[j] = slice[j], slice[i]
|
||||
}
|
||||
}
|
||||
|
||||
// RandomGuilds 随机10个公会
|
||||
func (gm *GuildMgr) RandomGuilds() []Guild {
|
||||
guildCount := 10
|
||||
guildCount := RandomGuildCount
|
||||
count := len(gm.Guilds)
|
||||
if count <= guildCount {
|
||||
guildCount = count
|
||||
@ -451,12 +444,15 @@ func (gm *GuildMgr) RandomGuilds() []Guild {
|
||||
for _, guild := range gm.Guilds {
|
||||
guildSlice = append(guildSlice, guild)
|
||||
}
|
||||
shuffleGuildIds(guildSlice)
|
||||
|
||||
randomlySelectedGuilds := guildSlice[:guildCount]
|
||||
for i := 0; i < guildCount; i++ {
|
||||
j := rand.Intn(len(guildSlice))
|
||||
guildSlice[i], guildSlice[j] = guildSlice[j], guildSlice[i]
|
||||
}
|
||||
|
||||
var results []Guild
|
||||
for _, guild := range randomlySelectedGuilds {
|
||||
results = append(results, *gm.Guilds[guild.GuildId])
|
||||
for i := 0; i < guildCount; i++ {
|
||||
results = append(results, *guildSlice[i])
|
||||
}
|
||||
return results
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user