Your trusted source for computer chess information!
Differences
This shows you the differences between two versions of the page.
computer_chess:engines:secondchess:index 2012/08/03 06:37 | computer_chess:engines:secondchess:index 2015/04/22 13:27 current | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== SecondChess ====== | ====== SecondChess ====== | ||
- | {{http://computer-chess.org/data/media/logos/SecondChess.png}} | + | {{secondchess.png}} |
- | SecondChess is a didactical chess engine written in C by Emilio Díaz and based on FirstChess code of Pham Hong Nguyen. | + | SecondChess is a didactical chess engine written in C by Emilio Díaz and based on FirstChess code of Pham Hong Nguyen, addressed to programmers who want to learn how a chess engine works. |
===== Main Features ===== | ===== Main Features ===== | ||
- | * One single C file heavily commented, around 2000 lines | + | * One single C code file heavily commented, around 2000 lines |
- | * Addressed to programmers who want to learn how a chess engine works | + | * Licensed under GPL: source available at https://github.com/emdio/secondchess |
- | * Rules Implemented: castle, en passant and promotion (For the sake of simplicity, no three moves repetition nor 50 moves rule) | + | * Board representation: one 64 int array for pieces and one 64 int array for colors |
- | * No time management | + | * Rules Implemented: castle, en passant and promotion |
+ | * **Robust move generator:** al positions tested so far have been matched by secondchess | ||
+ | * **perft** function implemented | ||
* Selectable search depth | * Selectable search depth | ||
* Simple evaluation: material + piece square tables | * Simple evaluation: material + piece square tables | ||
* Simple Alpha-Beta search + Quiescent | * Simple Alpha-Beta search + Quiescent | ||
* Basic Xboard support | * Basic Xboard support | ||
+ | ===Lacks=== | ||
+ | * No three moves repetition | ||
+ | * No 50 moves rule | ||
+ | * After every two squares pawn move an en passant square is created, most of the times unnecessarily | ||
+ | * No time management | ||
===== Acknowledgments ===== | ===== Acknowledgments ===== |