diff --git a/game/builtin/aoi2d_test.go b/game/builtin/aoi2d_test.go index 5952ee9..30bed7a 100644 --- a/game/builtin/aoi2d_test.go +++ b/game/builtin/aoi2d_test.go @@ -1,7 +1,8 @@ -package builtin +package builtin_test import ( "fmt" + "github.com/kercylan98/minotaur/game/builtin" "github.com/kercylan98/minotaur/utils/random" "testing" "time" @@ -29,7 +30,7 @@ func (slf *Ent) GetVision() float64 { } func TestNewAOI2D(t *testing.T) { - aoi := NewAOI2D(10000, 10000, 100, 100) + aoi := builtin.NewAOI2D(10000, 10000, 100, 100) start := time.Now() for i := 0; i < 50000; i++ { diff --git a/game/builtin/ranking_list_example_test.go b/game/builtin/ranking_list_example_test.go new file mode 100644 index 0000000..2dd4ece --- /dev/null +++ b/game/builtin/ranking_list_example_test.go @@ -0,0 +1,77 @@ +package builtin_test + +import ( + "fmt" + "github.com/kercylan98/minotaur/game/builtin" +) + +func ExampleNewRankingList() { + ranklingList := builtin.NewRankingList[string, int](builtin.WithRankingListCount[string, int](10)) + + fmt.Println(ranklingList != nil) + // Output: + // true +} + +func ExampleRankingList_Competitor() { + ranklingList := builtin.NewRankingList[string, int](builtin.WithRankingListCount[string, int](10)) + + scores := []int{6131, 132, 5133, 134, 135, 136, 137, 138, 139, 140, 222, 333, 444, 555, 666} + for i := 1; i <= 15; i++ { + ranklingList.Competitor(fmt.Sprintf("competitor_%2d", i), scores[i-1]) + } + + for rank, competitor := range ranklingList.GetAllCompetitor() { + fmt.Println(rank, competitor) + } + + // Output: + // 0 competitor_ 1 + // 1 competitor_ 3 + // 2 competitor_15 + // 3 competitor_14 + // 4 competitor_13 + // 5 competitor_12 + // 6 competitor_11 + // 7 competitor_10 + // 8 competitor_ 9 + // 9 competitor_ 8 +} + +func ExampleRankingList_RemoveCompetitor() { + ranklingList := builtin.NewRankingList[string, int](builtin.WithRankingListCount[string, int](10)) + + scores := []int{6131, 132, 5133, 134, 135, 136, 137, 138, 139, 140, 222, 333, 444, 555, 666} + for i := 1; i <= 15; i++ { + ranklingList.Competitor(fmt.Sprintf("competitor_%2d", i), scores[i-1]) + } + ranklingList.RemoveCompetitor("competitor_ 1") + for rank, competitor := range ranklingList.GetAllCompetitor() { + fmt.Println(rank, competitor) + } + + // Output: + // 0 competitor_ 3 + // 1 competitor_15 + // 2 competitor_14 + // 3 competitor_13 + // 4 competitor_12 + // 5 competitor_11 + // 6 competitor_10 + // 7 competitor_ 9 + // 8 competitor_ 8 +} + +func ExampleRankingList_GetRank() { + ranklingList := builtin.NewRankingList[string, int](builtin.WithRankingListCount[string, int](10)) + + scores := []int{6131, 132, 5133, 134, 135, 136, 137, 138, 139, 140, 222, 333, 444, 555, 666} + for i := 1; i <= 15; i++ { + ranklingList.Competitor(fmt.Sprintf("competitor_%2d", i), scores[i-1]) + } + + fmt.Println(ranklingList.GetRank("competitor_ 1")) + + // Output: + // 0 +} diff --git a/game/builtin/ranking_list_test.go b/game/builtin/ranking_list_test.go new file mode 100644 index 0000000..cf7e36a --- /dev/null +++ b/game/builtin/ranking_list_test.go @@ -0,0 +1 @@ +package builtin_test