Archived
1

Massive refactoring for future development

This commit is contained in:
2017-11-21 06:06:32 +04:00
parent f5d801b768
commit dfe0d08ecc
45 changed files with 742 additions and 640 deletions

40
lib/statistics/points.go Normal file
View File

@@ -0,0 +1,40 @@
// i2_bot Instinct PokememBro Bot
// Copyright (c) 2017 Vladimir "fat0troll" Hodakov
package statistics
import (
"strconv"
"strings"
)
// GetPoints returns points to use in database
func (s *Statistics) GetPoints(pointsStr string) int {
value := 0
if strings.HasSuffix(pointsStr, "K") {
valueNumber := strings.Replace(pointsStr, "K", "", 1)
valueFloat, _ := strconv.ParseFloat(valueNumber, 64)
value = int(valueFloat * 1000)
} else if strings.HasSuffix(pointsStr, "M") {
valueNumber := strings.Replace(pointsStr, "M", "", 1)
valueFloat, _ := strconv.ParseFloat(valueNumber, 64)
value = int(valueFloat * 1000000)
} else {
value, _ = strconv.Atoi(pointsStr)
}
return value
}
// GetPrintablePoints returns to output points (ht, attack, mp...) formatted
// like in PokememBroBot itself.
func (s *Statistics) GetPrintablePoints(points int) string {
if points < 1000 {
return strconv.Itoa(points)
} else if points < 1000000 {
floatNum := float64(points) / 1000.0
return strconv.FormatFloat(floatNum, 'f', -1, 64) + "K"
} else {
floatNum := float64(points) / 1000000.0
return strconv.FormatFloat(floatNum, 'f', -1, 64) + "M"
}
}