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