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 | ||