Files
weight/bin/main.go
2023-03-09 09:56:12 +08:00

57 lines
1.5 KiB
Go

package main
import (
"fmt"
"git.satori.love/gameui/weight"
)
func main() {
// 创建一个权重模型用于存储类型A的集合倾向节点(极点)A的权重
weightModel := weight.NewWeightModel()
// 添加权重
weightModel.Add("A", 0.1)
weightModel.Add("B", 0.2)
weightModel.Add("C", 0.3)
weightModel.Add("D", 0.4)
// 排序
weightModel.Weights.Sort()
// 计算权重总和
for _, v := range weightModel.Weights {
weightModel.Total += v.Value
}
// 获取权重
fmt.Println(weightModel.Get("A"))
// 获取权重
fmt.Println(weightModel.GetWeight("A"))
// 获取权重列表
fmt.Println(weightModel.GetWeightList())
// 获取权重列表
fmt.Println(weightModel.GetWeightListByValue())
// 获取权重列表
fmt.Println(weightModel.GetWeightListByValueDesc())
// 创建一个权重模型用于存储类型B的集合倾向节点(极点)B的权重
weightModel2 := weight.NewWeightModel()
// 添加权重
weightModel2.Add("A", 0.1)
weightModel2.Add("B", 0.2)
weightModel2.Add("C", 0.3)
weightModel2.Add("D", 0.4)
// 排序
weightModel2.Weights.Sort()
// 计算权重总和
for _, v := range weightModel2.Weights {
weightModel2.Total += v.Value
}
// 获取权重
fmt.Println(weightModel2.Get("A"))
// 获取权重
fmt.Println(weightModel2.GetWeight("A"))
// 获取权重列表
fmt.Println(weightModel2.GetWeightList())
// 获取权重列表
fmt.Println(weightModel2.GetWeightListByValue())
// 获取权重列表
fmt.Println(weightModel2.GetWeightListByValueDesc())
}