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/07 04:17 | 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 |
+ | * Licensed under GPL: source available at https://github.com/emdio/secondchess | ||
* Board representation: one 64 int array for pieces and one 64 int array for colors | * Board representation: one 64 int array for pieces and one 64 int array for colors | ||
- | * Addressed to programmers who want to learn how a chess engine works | ||
* Rules Implemented: castle, en passant and promotion | * 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 | ||
Line 16: | Line 18: | ||
* Basic Xboard support | * Basic Xboard support | ||
===Lacks=== | ===Lacks=== | ||
- | * For the sake of simplicity, no three moves repetition nor 50 moves rule | + | * 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 | * No time management | ||
+ | |||
===== Acknowledgments ===== | ===== Acknowledgments ===== | ||
* Pham Hong Nguyen, author of FirstChess | * Pham Hong Nguyen, author of FirstChess |