fix: 在 PlayerDataLite 的 LastDiffToImage 函数中添加对零值的处理,以避免计算差异时出现错误
This commit is contained in:
parent
119178161d
commit
527766ebd6
@ -524,12 +524,18 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite, onlyFirstF
|
|||||||
{
|
{
|
||||||
// PP值
|
// PP值
|
||||||
ppDiff := p.PP - lastQueryData.PP
|
ppDiff := p.PP - lastQueryData.PP
|
||||||
|
if lastQueryData.PP == 0 {
|
||||||
|
ppDiff = 0
|
||||||
|
}
|
||||||
if ppDiff == 0 {
|
if ppDiff == 0 {
|
||||||
sb.WriteString(fmt.Sprintf("PP %.1f\n", p.PP))
|
sb.WriteString(fmt.Sprintf("PP %.1f\n", p.PP))
|
||||||
} else {
|
} else {
|
||||||
sb.WriteString(fmt.Sprintf("PP %.1f(%+.1f)\n", p.PP, ppDiff))
|
sb.WriteString(fmt.Sprintf("PP %.1f(%+.1f)\n", p.PP, ppDiff))
|
||||||
} // 全球排名
|
} // 全球排名
|
||||||
rankDiff := lastQueryData.Rank - p.Rank
|
rankDiff := lastQueryData.Rank - p.Rank
|
||||||
|
if lastQueryData.Rank == 0 {
|
||||||
|
rankDiff = 0
|
||||||
|
}
|
||||||
if rankDiff == 0 {
|
if rankDiff == 0 {
|
||||||
sb.WriteString(fmt.Sprintf("全球排名 %d\n", p.Rank))
|
sb.WriteString(fmt.Sprintf("全球排名 %d\n", p.Rank))
|
||||||
} else {
|
} else {
|
||||||
@ -537,7 +543,10 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite, onlyFirstF
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 区域排名
|
// 区域排名
|
||||||
countryRankDiff := lastQueryData.CountryRank - p.CountryRank
|
countryRankDiff := p.CountryRank - lastQueryData.CountryRank
|
||||||
|
if lastQueryData.CountryRank == 0 {
|
||||||
|
countryRankDiff = 0
|
||||||
|
}
|
||||||
if countryRankDiff == 0 {
|
if countryRankDiff == 0 {
|
||||||
sb.WriteString(fmt.Sprintf("区域排名 %d\n", p.CountryRank))
|
sb.WriteString(fmt.Sprintf("区域排名 %d\n", p.CountryRank))
|
||||||
} else {
|
} else {
|
||||||
@ -546,6 +555,9 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite, onlyFirstF
|
|||||||
|
|
||||||
// Ranked谱面均准
|
// Ranked谱面均准
|
||||||
accDiff := (p.AverageRankedAccuracy - lastQueryData.AverageRankedAccuracy) * 100
|
accDiff := (p.AverageRankedAccuracy - lastQueryData.AverageRankedAccuracy) * 100
|
||||||
|
if lastQueryData.AverageRankedAccuracy == 0 {
|
||||||
|
accDiff = 0
|
||||||
|
}
|
||||||
if accDiff == 0 {
|
if accDiff == 0 {
|
||||||
sb.WriteString(fmt.Sprintf("Ranked谱面均准 %.2f%%\n", p.AverageRankedAccuracy*100))
|
sb.WriteString(fmt.Sprintf("Ranked谱面均准 %.2f%%\n", p.AverageRankedAccuracy*100))
|
||||||
} else {
|
} else {
|
||||||
@ -553,6 +565,9 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite, onlyFirstF
|
|||||||
}
|
}
|
||||||
// 总游玩记数
|
// 总游玩记数
|
||||||
totalPlayDiff := p.TotalPlayCount - lastQueryData.TotalPlayCount
|
totalPlayDiff := p.TotalPlayCount - lastQueryData.TotalPlayCount
|
||||||
|
if lastQueryData.TotalPlayCount == 0 {
|
||||||
|
totalPlayDiff = 0
|
||||||
|
}
|
||||||
if totalPlayDiff == 0 {
|
if totalPlayDiff == 0 {
|
||||||
sb.WriteString(fmt.Sprintf("总游玩记数 %d\n", p.TotalPlayCount))
|
sb.WriteString(fmt.Sprintf("总游玩记数 %d\n", p.TotalPlayCount))
|
||||||
} else {
|
} else {
|
||||||
@ -561,6 +576,9 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite, onlyFirstF
|
|||||||
|
|
||||||
// Ranked谱面游玩记数
|
// Ranked谱面游玩记数
|
||||||
rankedPlayDiff := p.RankedPlayCount - lastQueryData.RankedPlayCount
|
rankedPlayDiff := p.RankedPlayCount - lastQueryData.RankedPlayCount
|
||||||
|
if lastQueryData.RankedPlayCount == 0 {
|
||||||
|
rankedPlayDiff = 0
|
||||||
|
}
|
||||||
if rankedPlayDiff == 0 {
|
if rankedPlayDiff == 0 {
|
||||||
sb.WriteString(fmt.Sprintf("Ranked谱面游玩记数 %d\n", p.RankedPlayCount))
|
sb.WriteString(fmt.Sprintf("Ranked谱面游玩记数 %d\n", p.RankedPlayCount))
|
||||||
} else {
|
} else {
|
||||||
|
@ -339,12 +339,18 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite, onlyFirstF
|
|||||||
{
|
{
|
||||||
// PP值
|
// PP值
|
||||||
ppDiff := p.PP - lastQueryData.PP
|
ppDiff := p.PP - lastQueryData.PP
|
||||||
|
if lastQueryData.PP == 0 {
|
||||||
|
ppDiff = 0
|
||||||
|
}
|
||||||
if ppDiff == 0 {
|
if ppDiff == 0 {
|
||||||
sb.WriteString(fmt.Sprintf("PP %.1f\n", p.PP))
|
sb.WriteString(fmt.Sprintf("PP %.1f\n", p.PP))
|
||||||
} else {
|
} else {
|
||||||
sb.WriteString(fmt.Sprintf("PP %.1f(%+.1f)\n", p.PP, ppDiff))
|
sb.WriteString(fmt.Sprintf("PP %.1f(%+.1f)\n", p.PP, ppDiff))
|
||||||
} // 全球排名
|
} // 全球排名
|
||||||
rankDiff := lastQueryData.Rank - p.Rank
|
rankDiff := lastQueryData.Rank - p.Rank
|
||||||
|
if lastQueryData.Rank == 0 {
|
||||||
|
rankDiff = 0
|
||||||
|
}
|
||||||
if rankDiff == 0 {
|
if rankDiff == 0 {
|
||||||
sb.WriteString(fmt.Sprintf("全球排名 %d\n", p.Rank))
|
sb.WriteString(fmt.Sprintf("全球排名 %d\n", p.Rank))
|
||||||
} else {
|
} else {
|
||||||
@ -353,6 +359,9 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite, onlyFirstF
|
|||||||
|
|
||||||
// 区域排名
|
// 区域排名
|
||||||
countryRankDiff := lastQueryData.CountryRank - p.CountryRank
|
countryRankDiff := lastQueryData.CountryRank - p.CountryRank
|
||||||
|
if lastQueryData.CountryRank == 0 {
|
||||||
|
countryRankDiff = 0
|
||||||
|
}
|
||||||
if countryRankDiff == 0 {
|
if countryRankDiff == 0 {
|
||||||
sb.WriteString(fmt.Sprintf("区域排名 %d\n", p.CountryRank))
|
sb.WriteString(fmt.Sprintf("区域排名 %d\n", p.CountryRank))
|
||||||
} else {
|
} else {
|
||||||
@ -361,6 +370,9 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite, onlyFirstF
|
|||||||
|
|
||||||
// Ranked谱面均准
|
// Ranked谱面均准
|
||||||
accDiff := (p.AverageRankedAccuracy - lastQueryData.AverageRankedAccuracy) * 100
|
accDiff := (p.AverageRankedAccuracy - lastQueryData.AverageRankedAccuracy) * 100
|
||||||
|
if lastQueryData.AverageRankedAccuracy == 0 {
|
||||||
|
accDiff = 0
|
||||||
|
}
|
||||||
if accDiff == 0 {
|
if accDiff == 0 {
|
||||||
sb.WriteString(fmt.Sprintf("Ranked谱面均准 %.2f%%\n", p.AverageRankedAccuracy))
|
sb.WriteString(fmt.Sprintf("Ranked谱面均准 %.2f%%\n", p.AverageRankedAccuracy))
|
||||||
} else {
|
} else {
|
||||||
@ -368,6 +380,9 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite, onlyFirstF
|
|||||||
}
|
}
|
||||||
// 总游玩记数
|
// 总游玩记数
|
||||||
totalPlayDiff := p.TotalPlayCount - lastQueryData.TotalPlayCount
|
totalPlayDiff := p.TotalPlayCount - lastQueryData.TotalPlayCount
|
||||||
|
if lastQueryData.TotalPlayCount == 0 {
|
||||||
|
totalPlayDiff = 0
|
||||||
|
}
|
||||||
if totalPlayDiff == 0 {
|
if totalPlayDiff == 0 {
|
||||||
sb.WriteString(fmt.Sprintf("总游玩记数 %d\n", p.TotalPlayCount))
|
sb.WriteString(fmt.Sprintf("总游玩记数 %d\n", p.TotalPlayCount))
|
||||||
} else {
|
} else {
|
||||||
@ -376,6 +391,9 @@ func (p PlayerDataLite) LastDiffToImage(lastQueryData PlayerDataLite, onlyFirstF
|
|||||||
|
|
||||||
// Ranked谱面游玩记数
|
// Ranked谱面游玩记数
|
||||||
rankedPlayDiff := p.RankedPlayCount - lastQueryData.RankedPlayCount
|
rankedPlayDiff := p.RankedPlayCount - lastQueryData.RankedPlayCount
|
||||||
|
if lastQueryData.RankedPlayCount == 0 {
|
||||||
|
rankedPlayDiff = 0
|
||||||
|
}
|
||||||
if rankedPlayDiff == 0 {
|
if rankedPlayDiff == 0 {
|
||||||
sb.WriteString(fmt.Sprintf("Ranked谱面游玩记数 %d\n", p.RankedPlayCount))
|
sb.WriteString(fmt.Sprintf("Ranked谱面游玩记数 %d\n", p.RankedPlayCount))
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user