Download Senior Design I Documentation - University of Central Florida
Transcript
errors or attempt any illegal moves. When the computer moves, it takes a noticeable amount of time to perform the calculation, but not terribly long. If the computer opts to use the book, the move time is almost instant. Faile does not include player versus player capability, which means adaptability is an important factor. It must be possible to edit the source code to allow the user to select a one or two player game. Based on a quick viewing of the main function, faile.c, it seems relatively difficult to do this. The program was written without consideration for this additional functionality, which could make this a daunting task. For this reason, it would be far simpler to go with an engine that includes a more dynamic implementation of this function, such as TSCP, which allows the computer to be toggled on and off at any time. Like many popular open source chess engines, Faile was written to be didactic, and is easily digestible. Some documentation exists covering the hash tables and opening book concepts in general, but there is nothing resembling a true manual. The code has some comments, but not nearly as many as TSCP, making this a less attractive candidate in this regard. CPU (approx %) Memory (MB) Avg Response Time (sec) Player’s Move <1 6.1 <1 Computer’s Move 50 6.1 18.62 Table 3-5 Resources used by Faile 1.4 Section 3.2.5.4: Gerbil Gerbil is a chess engine written by Bruce Moreland in 2001. It is written in C and more sizeable than the previous chess engines discussed. It consists of 15 .C files and 1 header file. It is published under the GNU General Public License, meaning it is not necessary to obtain permission to use Gerbil. It was intended to be run using WinBoard. It will still function in command line mode, but it does not provide any sort of representation of a chess board, which is why the author warns the user at the beginning to ―find a chess board unless you like to play blindfolded.‖ It does not support player versus player mode, so this would have to be added manually. Gerbil does not score as well in the robustness category as the other engines. It appears to work fine with WinBoard, but in our chess board, WinBoard will not be used for obvious reasons. Therefore, it is of paramount importance that the engine chosen operate smoothly in command line mode. When starting up Gerbil, the engine instructs the user to enter ―protover 2‖ before doing anything such as invoking a new game. Why this is necessary is unknown, but the engine still appears to work whether or not one enters this command. The difference is the notation the engine provides when carrying out its move. This uncertainty in the program‘s operation should give a user pause, as it makes the engine seem 23 | P a g e