/* Package chess is a go library designed to accomplish the following: - chess game / turn management - move validation - PGN encoding / decoding - FEN encoding / decoding Using Moves game := chess.NewGame() moves := game.ValidMoves() game.Move(moves[0]) Using Algebraic Notation game := chess.NewGame() game.MoveStr("e4") Using PGN pgn, _ := chess.PGN(pgnReader) game := chess.NewGame(pgn) Using FEN fen, _ := chess.FEN("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1") game := chess.NewGame(fen) Random Game package main import ( "fmt" "math/rand" "git.nightmare.haus/rudi/chessv2" ) func main() { game := chess.NewGame() // generate moves until game is over for game.Outcome() == chess.NoOutcome { // select a random move moves := game.ValidMoves() move := moves[rand.Intn(len(moves))] game.Move(move) } // print outcome and game PGN fmt.Println(game.Position().Board().Draw()) fmt.Printf("Game completed. %s by %s.\n", game.Outcome(), game.Method()) fmt.Println(game.String()) } */ package chess