Documentation
¶
Index ¶
- Variables
- func GetClassIndexByAccuracy(accuracy float64) int
- type CategoryParams
- type CategoryParamsJSON
- type GetUserStatsRes
- type GetUsersTop
- type LevelComplete
- type LevelCompleteJSON
- type LevelStats
- type PageInfo
- type PlayerStats
- type PlayerStatsDB
- type StatSortFilterParams
- type StatSortFilterParamsJSON
- type UserLevelCompletionInfo
Constants ¶
This section is empty.
Variables ¶
View Source
var AvailableClasses = []rune{'S', 'A', 'B', 'C', 'D'}
Functions ¶
func GetClassIndexByAccuracy ¶
Types ¶
type CategoryParams ¶
type CategoryParamsJSON ¶
type GetUserStatsRes ¶
type GetUserStatsRes struct {
Res PlayerStats `json:"user_stats"`
}
type GetUsersTop ¶
type GetUsersTop struct {
Res []PlayerStats `json:"users"`
}
type LevelComplete ¶
type LevelComplete struct {
LevelId int `json:"level_id" binding:"required" db:"level_id"`
PlayerId int `json:"player_id" binding:"required" db:"player_id"`
Time int64 `json:"-" db:"time"`
NumPressErrByChar map[rune][2]int `json:"num_press_err_by_char" binding:"required" db:"-"`
Accuracy float64 `json:"-" db:"accuracy" example:"0.4"`
AverageVelocity float32 `json:"average_velocity" db:"average_velocity" binding:"required" example:"0.01"`
MaxCombo int `json:"max_combo" db:"max_combo" binding:"required" example:"180"`
Placement int `json:"placement" db:"placement" binding:"required" example:"1"`
Points int `json:"points" db:"points" binding:"required" example:"10000"`
}
type LevelCompleteJSON ¶
type LevelCompleteJSON struct {
LevelId int `json:"level_id" binding:"required" db:"level_id"`
PlayerId int `json:"player_id" binding:"required" db:"player_id"`
Time int64 `json:"time" db:"time"`
NumPressErrByChar map[string][2]int `json:"num_press_err_by_char" binding:"required" db:"-"`
Accuracy float64 `json:"accuracy" db:"accuracy" example:"0.4"`
AverageVelocity float32 `json:"average_velocity" db:"average_velocity" binding:"required" example:"0.01"`
MaxCombo int `json:"max_combo" db:"max_combo" binding:"required" example:"180"`
Placement int `json:"placement" db:"placement" binding:"required" example:"1"`
Points int `json:"points" db:"points" binding:"required" example:"10000"`
}
type LevelStats ¶
type LevelStats struct {
NumPlayed int `json:"num_played" db:"num_played" example:"100"`
AverageAccuracy float32 `json:"average_acc" db:"average_acc" example:"0.5"`
MaxCombo int `json:"max_combo" db:"max_combo" example:"100"`
MaxPoints int `json:"max_points" db:"max_points" example:"10000"`
AveragePoints float64 `json:"average_points" db:"average_points" example:"109.5"`
AverageAverageVelocity float64 `json:"average_average_velocity" db:"average_average_velocity" example:"19.5"`
MaxAverageVelocity float64 `json:"max_average_velocity" db:"max_average_velocity" example:"19.5"`
}
type PlayerStats ¶
type PlayerStats struct {
UserId int `json:"user_id" db:"user_id" example:"1"`
UserName string `json:"user_name" db:"user_name" example:"John Doe"`
AvatarPath sql.NullString `json:"avatar_path" db:"avatar_path" swaggerignore:"true"`
NumPressErrByCharByLang map[string]map[rune][2]int `json:"num_press_err_by_char_by_lang" db:"num_press_err_by_char_by_lang" binding:"required"`
NumLevelRelax int `json:"num_level_relax" db:"num_level_relax" example:"1"`
NumLevelClassic int `json:"num_level_classic" db:"num_level_classic" example:"1"`
NumGamesMult int `json:"num_games_mult" db:"num_games_mult" example:"1"`
NumCharsClassic int `json:"num_chars_classic" db:"num_chars_classic" example:"1"`
NumCharsRelax int `json:"num_chars_relax" db:"num_chars_relax" example:"1"`
AverageAccuracyClassic float64 `json:"average_accuracy_classic" db:"average_accuracy_classic" example:"0.5"`
AverageAccuracyRelax float64 `json:"average_accuracy_relax" db:"average_accuracy_relax" example:"0.5"`
WinPercentage float64 `json:"win_percentage" db:"win_percentage" example:"0.5"`
AverageDelay float64 `json:"average_delay" db:"average_delay" example:"2.1"`
NumClassesClassic [5]int32 `json:"num_classes_classic" db:"num_classes_classic"`
SumPoints int `json:"sum_points" db:"sum_points" example:"100000"`
}
type PlayerStatsDB ¶
type PlayerStatsDB struct {
UserId int `json:"user_id" db:"user_id"`
UserName string `json:"user_name" db:"user_name"`
AvatarPath sql.NullString `json:"avatar_path" db:"avatar_path"`
NumPressErrByCharByLang []byte `json:"num_press_err_by_char_by_lang" db:"num_press_err_by_char_by_lang" binding:"required"`
NumLevelRelax int `json:"num_level_relax" db:"num_level_relax"`
NumLevelClassic int `json:"num_level_classic" db:"num_level_classic"`
NumGamesMult int `json:"num_games_mult" db:"num_games_mult"`
NumCharsClassic int `json:"num_chars_classic" db:"num_chars_classic"`
NumCharsRelax int `json:"num_chars_relax" db:"num_chars_relax"`
AverageAccuracyClassic float64 `json:"average_accuracy_classic" db:"average_accuracy_classic"`
AverageAccuracyRelax float64 `json:"average_accuracy_relax" db:"average_accuracy_relax"`
WinPercentage float64 `json:"win_percentage" db:"win_percentage"`
AverageDelay float64 `json:"average_delay" db:"average_delay"`
NumClassesClassic pq.Int32Array `json:"num_classes_classic" db:"num_classes_classic"`
SumPoints int `json:"sum_points" db:"sum_points"`
Nc int `json:"-" db:"nc"`
}
type StatSortFilterParams ¶
type StatSortFilterParams struct {
Points string `json:"points" binding:"omitempty" example:"asc"`
CategoryParams CategoryParams `json:"category_params" binding:"omitempty"`
PageInfo PageInfo `json:"page_info" binding:"required"`
}
type StatSortFilterParamsJSON ¶
type StatSortFilterParamsJSON struct {
Points string `json:"points" binding:"omitempty" example:"asc"`
CategoryParams CategoryParamsJSON `json:"category_params" binding:"omitempty"`
PageInfo PageInfo `json:"page_info" binding:"required"`
}
type UserLevelCompletionInfo ¶
type UserLevelCompletionInfo struct {
LevelId int `json:"level_id" binding:"required" db:"level_id" example:"1"`
PlayerId int `json:"player_id" binding:"required" db:"player_id" example:"1"`
PlayerName string `json:"player_name" binding:"required" db:"player_name" example:"Player"`
Time time.Time `json:"-" binding:"required" db:"time"`
NumPressErrByChar map[rune][2]int `json:"num_press_err_by_char" binding:"required" db:"-" example:"{\"A\":[10,4],\"B\":[30,23]}"`
Accuracy float64 `json:"accuracy" db:"accuracy" example:"0.4"`
AverageVelocity float32 `json:"average_velocity" db:"average_velocity" binding:"required" example:"0.5"`
MaxCombo int `json:"max_combo" db:"max_combo" binding:"required" example:"100"`
Placement int `json:"placement" db:"placement" binding:"required" example:"1"`
Points int `json:"points" db:"points" binding:"required" example:"1000"`
}
Click to show internal directories.
Click to hide internal directories.