Author: Volker Böhm
Date: 15:26:10 08/09/04
Go up one level in this thread
Hi Uri, IceSpell has lot of classes for everything. It has a class for Square Piece Board Value Direction Position Evaluation (one class for every piece) Move-Generation (one class for every piece) SearchStack (holding the local information) Search Time-Control Move MoveList Killer History ... (I don´t remeber everything). That had speed issues. Thats why Spike does not have those basic classes like Square, Piece, Value, Direcion, Move, ... Spike has got the following classes: 1. A "Const" Class holding only constants that do not need memory (no const fields). Nearly every class is derived from the const class giving it the opportunity to access all relevant constant values. 2. A "Const-Field-Class" holding basic lookup tables 3. A Move-Generator-Class (only one) 4. An Attack-Table Class 5. A Board-Class 6. An Evaluation-Class 7. An Incremental-Evaluation-Class 8. A Pawn-Hash Class 9. A Hash Class 10. A SEE Class 11. A simple SEE Lookup-From-Attack-Table class 12. A Search Class 13. A Ponder Class 14. An Interface Class (Supporting Winboard and UCI) 15. A Time-Control Class (Controls that time does not exceed limit, calculates the "base" time and a maximal time for the current move. The base time is only calculated by time settings and amount of moves done) 16. A Timefactor Class (Calculates the current time factor, the time-factor is only dependant of game situation and search issues (pv-change, value-change, ...)) Maybe I forgot one or two. Some Classes are large, this is not good in a design point of view. But for Chess speed is most relevant. Greetings Volker
This page took 0.01 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.