{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:golang/github.com/windler/chess","name":"github.com/windler/chess","description":"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\" \"github.com/notnil/chess\" ) 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.","version":"v1.8.0","softwareVersion":"v1.8.0","license":"https://spdx.org/licenses/MIT","codeRepository":"https://github.com/windler/chess","issueTracker":"https://github.com/windler/chess/issues","url":"https://github.com/windler/chess","programmingLanguage":{"@type":"ComputerLanguage","name":"Go"},"dateCreated":"2020-01-26","dateModified":"2022-03-27","datePublished":"2022-03-27","copyrightYear":2020,"downloadUrl":"https://proxy.golang.org/cached-only/github.com/windler/chess/@v/v1.8.0.zip","softwareHelp":{"@type":"WebSite","url":"https://pkg.go.dev/github.com/windler/chess#section-documentation"},"applicationCategory":"go","runtimePlatform":"go","developmentStatus":"active","sameAs":["https://pkg.go.dev/github.com/windler/chess"]}