Output raw full ranking info for analysis.

These are handy to see why certain changes occur in the
ratings and may serve to easy my mind as to why they
appear fluctuating.
This commit is contained in:
Auke Kok 2019-01-31 20:02:47 -08:00
parent bab8a611a1
commit c5bafb0a70

75
main.go
View File

@ -409,6 +409,34 @@ func main() {
// sort and we're done, no need to normalize ranking values // sort and we're done, no need to normalize ranking values
sort.Slice(players, func(a, b int) bool { return players[a].combined > players[b].combined }) sort.Slice(players, func(a, b int) bool { return players[a].combined > players[b].combined })
var player_raw = make(map[string]string)
for i := 0; i < len(players); i++ {
var name string
err = db.QueryRow(fmt.Sprintf("SELECT name FROM player WHERE id = \"%v\"", players[i].player_id)).Scan(&name)
if err != nil {
log.Fatal(err)
}
player_raw[fmt.Sprintf("%v", i+1)] = fmt.Sprintf("%v (%v): %v - %v %v %v %v",
players[i].player_id,
name,
players[i].combined,
players[i].completed_rank,
players[i].time_rank,
players[i].damage_rank,
players[i].deaths_rank)
}
j, err := json.Marshal(player_raw)
if err != nil {
log.Fatal(err)
}
// write to disc!
of, err = os.Create("raw_players.json")
if err != nil {
log.Fatal(err)
}
of.Write(j)
of.Close()
// write out ranking JSON // write out ranking JSON
var player_topranks = make(map[string]string) var player_topranks = make(map[string]string)
var ranklen = 30 var ranklen = 30
@ -425,7 +453,7 @@ func main() {
player_topranks[fmt.Sprintf("%v", i+1)] = name player_topranks[fmt.Sprintf("%v", i+1)] = name
} }
j, err := json.Marshal(player_topranks) j, err = json.Marshal(player_topranks)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
@ -599,7 +627,32 @@ func main() {
} }
// sort and output // sort and output
sort.Slice(boxes, func(a, b int) bool { return boxes[a].combined > boxes[b].combined }) sort.Slice(boxes, func(a, b int) bool { return boxes[a].combined > boxes[b].combined })
var boxes_raw = make(map[string]string)
c := 0 c := 0
for i := range boxes {
c = c + 1
boxes_raw[fmt.Sprintf("%v", c)] = fmt.Sprintf("%v: %v - %v %v %v %v %v %v",
boxes[i].box_id,
boxes[i].combined,
boxes[i].avg_damage_rank,
boxes[i].avg_deaths_rank,
boxes[i].avg_time_rank,
boxes[i].avg_rating_rank,
boxes[i].completed_players_rank,
boxes[i].completed_times_rank)
}
j, err = json.Marshal(boxes_raw)
if err != nil {
log.Fatal(err)
}
of, err = os.Create("raw_boxes.json")
if err != nil {
log.Fatal(err)
}
of.Write(j)
of.Close()
c = 0
var boxes_topranks = make(map[string]string) var boxes_topranks = make(map[string]string)
for i := range boxes { for i := range boxes {
if (boxes[i].builder == "sofar") || (boxes[i].builder == "nore") { if (boxes[i].builder == "sofar") || (boxes[i].builder == "nore") {
@ -692,6 +745,26 @@ func main() {
builders[i].box_count_rank builders[i].box_count_rank
} }
sort.Slice(builders, func(a, b int) bool { return builders[a].combined > builders[b].combined }) sort.Slice(builders, func(a, b int) bool { return builders[a].combined > builders[b].combined })
var builder_raw = make(map[string]string)
for i := range builders {
builder_raw[fmt.Sprintf("%v", i+1)] = fmt.Sprintf("%v: %v - %v %v",
builders[i].name,
builders[i].combined,
builders[i].box_rank_avg_rank,
builders[i].box_count_rank)
}
j, err = json.Marshal(builder_raw)
if err != nil {
log.Fatal(err)
}
// write to disc!
of, err = os.Create("raw_builders.json")
if err != nil {
log.Fatal(err)
}
of.Write(j)
of.Close()
var builder_topranks = make(map[string]string) var builder_topranks = make(map[string]string)
for i := range builders { for i := range builders {
if i > 30 { if i > 30 {