https://github.com/zelenin/go-glicko2
A Go implementation of Glicko2 rating system
https://github.com/zelenin/go-glicko2
glicko glicko2 go golang
Last synced: over 1 year ago
JSON representation
A Go implementation of Glicko2 rating system
- Host: GitHub
- URL: https://github.com/zelenin/go-glicko2
- Owner: zelenin
- License: mit
- Created: 2019-02-27T12:43:19.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-17T17:47:56.000Z (over 3 years ago)
- Last Synced: 2024-06-19T00:27:55.246Z (about 2 years ago)
- Topics: glicko, glicko2, go, golang
- Language: Go
- Homepage:
- Size: 3.91 KB
- Stars: 12
- Watchers: 1
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Go-Glicko2
A Go implementation of [Glicko2 rating system](http://www.glicko.net/glicko.html)
## Installation
```go get -u github.com/zelenin/go-glicko2```
## Usage
```go
package main
import (
"fmt"
"github.com/zelenin/go-glicko2"
)
func main() {
player1 := glicko.NewPlayer(glicko.NewRating(1500, 200, 0.06))
player2 := glicko.NewPlayer(glicko.NewRating(1400, 30, 0.06))
player3 := glicko.NewPlayer(glicko.NewRating(1550, 100, 0.06))
player4 := glicko.NewPlayer(glicko.NewRating(1700, 300, 0.06))
period := glicko.NewRatingPeriod()
period.AddMatch(player1, player2, glicko.MATCH_RESULT_WIN)
period.AddMatch(player1, player3, glicko.MATCH_RESULT_LOSS)
period.AddMatch(player1, player4, glicko.MATCH_RESULT_LOSS)
period.Calculate()
fmt.Printf("Player #1 rating: %0.2f\n", player1.Rating().R())
fmt.Printf("Player #2 rating: %0.2f\n", player2.Rating().R())
fmt.Printf("Player #3 rating: %0.2f\n", player3.Rating().R())
fmt.Printf("Player #4 rating: %0.2f\n", player4.Rating().R())
}
```
## Author
[Aleksandr Zelenin](https://github.com/zelenin/), e-mail: [aleksandr@zelenin.me](mailto:aleksandr@zelenin.me)