ChessCore
Revision as of 20:30, 29 March 2020 by GerdIsenberg (talk | contribs) (Created page with "'''Home * Engines * ChessCore''' FILE:OnlineChessSmall.jpg|border|right|thumb|link=https://web.archive.org/web/20120105083121/http://www.chessbin.com/| Ch...")
ChessCore, (ChessBin.com)
a chess engine by Adam Berent, written in C#.
The ChessBin.com chess engine was documented in a blog format, and has been converted to cross-platform .NET Core dubbed ChessCore, open source under the MIT License published on GitHub [2].
The program makes heavy use of the .NET Core garbage collector (GC)
[3] and is mentioned as buggy in Ron Murawski's engine list [4].
Evaluate Moves
One sample of ChessCore's extensive GC usage demonstrates its Alpha-Beta search - at each node, it allocates the move list and each generated move on the heap [5]: For some reason, internal class position encapsulates the move.
private static List<Position> EvaluateMoves(Board examineBoard, byte depth) { ... List<Position> positions = new List<Position>(); for (byte x = 0; x < 64; x++) { ... Piece piece = examineBoard.Squares[x].Piece; ... continue if empty or opponent piece foreach (byte dst in piece.ValidMoves) { ... Position move = new Position(x, dst); ... Score move, killers, etc .. positions.Add(move); } } return positions; }
Forum Posts
- ChessBin 00.59 by Harun Taner, CCC, December 28, 2009
External Links
- GitHub - 3583Bytes/ChessCore: Chess Engine Implemented in .net core
- Chess – Adam Berent
- Computer Chess – Adam Berent
- Computer Chess Information and Resources (Wayback Machine)
References
- ↑ Computer Chess Information and Resources (Wayback Machine)
- ↑ GitHub - 3583Bytes/ChessCore: Chess Engine Implemented in .net core
- ↑ .NET Core - Garbage Collection - Tutorialspoint
- ↑ Chess Engine List from Ron Murawski's Computer-Chess Wiki
- ↑ ChessCore/Search.cs at master · 3583Bytes/ChessCore · GitHub - private static List<Position> EvaluateMoves(Board examineBoard, byte depth)