import chess package
This commit is contained in:
parent
3d3f825a27
commit
a236cff3c5
37
blunderboard.go
Normal file
37
blunderboard.go
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"github.com/notnil/chess"
|
||||||
|
"github.com/notnil/chess/uci"
|
||||||
|
"math/rand"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
engine, err := uci.New("stockfish")
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
defer engine.Close()
|
||||||
|
|
||||||
|
if err := engine.Run(uci.CmdUCI, uci.CmdIsReady, uci.CmdUCINewGame); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
rand.Seed(time.Now().UnixNano())
|
||||||
|
|
||||||
|
// random vs stockfish
|
||||||
|
game := chess.NewGame()
|
||||||
|
for game.Outcome() == chess.NoOutcome {
|
||||||
|
moves := game.ValidMoves()
|
||||||
|
game.Move(moves[rand.Intn(len(moves))])
|
||||||
|
|
||||||
|
if err := engine.Run(uci.CmdPosition{Position: game.Position()}, uci.CmdGo{MoveTime: time.Second / 100}); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
game.Move(engine.SearchResults().BestMove)
|
||||||
|
}
|
||||||
|
fmt.Println(game.String())
|
||||||
|
fmt.Println(game.Position().Board().Draw())
|
||||||
|
}
|
3
go.mod
Normal file
3
go.mod
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
module git.0x90.space/0x90/blunderboard
|
||||||
|
|
||||||
|
require github.com/notnil/chess v1.5.0
|
3
go.sum
Normal file
3
go.sum
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
github.com/ajstarks/svgo v0.0.0-20200320125537-f189e35d30ca/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||||
|
github.com/notnil/chess v1.5.0 h1:BcdmSGqZYhoqHsAqNpVTtPwRMOA4Sj8iZY1ZuPW4Umg=
|
||||||
|
github.com/notnil/chess v1.5.0/go.mod h1:cRuJUIBFq9Xki05TWHJxHYkC+fFpq45IWwk94DdlCrA=
|
Loading…
Reference in a new issue