comment game with lichess method
This commit is contained in:
parent
32a916129f
commit
bf8c1f3728
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,3 +1,5 @@
|
||||||
|
.*.swp
|
||||||
|
|
||||||
# Binaries for programs and plugins
|
# Binaries for programs and plugins
|
||||||
*.exe
|
*.exe
|
||||||
*.exe~
|
*.exe~
|
||||||
|
|
|
@ -25,26 +25,49 @@ func main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
game := chess.NewGame()
|
game := chess.NewGame()
|
||||||
|
prevprev_winning_chance := 0.0
|
||||||
|
prev_winning_chance := 0.0
|
||||||
for game.Outcome() == chess.NoOutcome {
|
for game.Outcome() == chess.NoOutcome {
|
||||||
if err := engine.Run(uci.CmdPosition{Position: game.Position()}, uci.CmdGo{Depth: 12}); err != nil {
|
if err := engine.Run(uci.CmdPosition{Position: game.Position()}, uci.CmdGo{Depth: 12}); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
search_results := engine.SearchResults()
|
search_results := engine.SearchResults()
|
||||||
fmt.Println("Best Move: ", search_results.BestMove)
|
|
||||||
cp := search_results.Info.Score.CP
|
cp := search_results.Info.Score.CP
|
||||||
fmt.Println("Score (centipawns): ", cp)
|
|
||||||
winning_chance := WinningChance(cp)
|
winning_chance := WinningChance(cp)
|
||||||
fmt.Println("Winning chance: ", winning_chance)
|
num_of_moves := len(game.Moves())
|
||||||
|
if (num_of_moves > 0) {
|
||||||
|
delta := prevprev_winning_chance - winning_chance
|
||||||
|
if (num_of_moves % 2 == 0) {
|
||||||
|
delta *= -1;
|
||||||
|
}
|
||||||
|
if delta > 0.3 {
|
||||||
|
fmt.Print("B-b-b-blunder!!")
|
||||||
|
} else if delta > 0.2 {
|
||||||
|
fmt.Print("That was a mistake.")
|
||||||
|
} else if delta > 0.1 {
|
||||||
|
fmt.Print("Meh...")
|
||||||
|
} else {
|
||||||
|
fmt.Print("Ok")
|
||||||
|
}
|
||||||
|
fmt.Printf(" (%0.2f)\n", -delta)
|
||||||
|
}
|
||||||
|
prevprev_winning_chance = prev_winning_chance
|
||||||
|
prev_winning_chance = winning_chance
|
||||||
fmt.Println(game.Position().Board().Draw())
|
fmt.Println(game.Position().Board().Draw())
|
||||||
for {
|
fmt.Println("Score (centipawns):", cp, "Winning chance:", winning_chance, "Best Move: ", search_results.BestMove)
|
||||||
var move string
|
fmt.Println("Move: ", search_results.BestMove)
|
||||||
fmt.Print("Move: ")
|
if err := game.Move(search_results.BestMove); err != nil {
|
||||||
fmt.Scanln(&move)
|
panic(err)
|
||||||
if err := game.MoveStr(move); err == nil {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
fmt.Println("Illegal move!")
|
|
||||||
}
|
}
|
||||||
|
// for {
|
||||||
|
// var move string
|
||||||
|
// fmt.Print("Move: ")
|
||||||
|
// fmt.Scanln(&move)
|
||||||
|
// if err := game.MoveStr(move); err == nil {
|
||||||
|
// break
|
||||||
|
// }
|
||||||
|
// fmt.Println("Illegal move!")
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
fmt.Println(game.Outcome())
|
fmt.Println(game.Outcome())
|
||||||
fmt.Println(game.Position().Board().Draw())
|
fmt.Println(game.Position().Board().Draw())
|
||||||
|
|
Loading…
Reference in a new issue