Author: Dann Corbit
Date: 11:29:48 07/24/02
Go up one level in this thread
On July 24, 2002 at 09:37:47, Pham Hong Nguyen wrote: >[snip] >>A very interesting and laudable project. I think it is somewhat of a mistake to >>assume that code which is more comprehensible to the author will be more >>comprehensible to some other student reading it. > >Hi Dann. Thank you very much for your help and encouragement :) >Your suggestions are very helpful. I took them and now I am improving source >code (I will send you for getting further comments and checking). > >Here is just a hard point that I want to discuss more: > >>The minimum chess game can make e.p. captures and castle. If you cannot do >>that, you are playing some other game besides chess. It's like writing a >>checkers game where the checkers cannot turn into kings. The primary rules of >>the game should be included. >> >>Also, 50 move and 3x repeat are pretty basic and pretty important. If your >>program does not understand these rules, it will annoy people. > >I think hard about this point. I agree without EP, castle, 50 move rules and 3 >repetition rules the game is partly like chess. Unfortunately, they require too >many technique details and may expand doubly the source code. I am also afraid >that learners will lose the main way in the matrix of details. Some of those >details will require extra explainations from experts or few days of studying >(not my desire). BTW, there are so many existing and much better source codes >which have implemented every rules of chess. Perhaps, it is better if we have a >lower thing as other alternative for learners. There is a trade off here: >cutting off difficult rules for simpleness. > >The philosophy of my program is to create an extremely simple source code, aim >at illustrating only basic functions of a chess engine. It is not for playing >(even learners can try few moves), but for short studying (few hours or a day) >to get some ideas and confidence before going to a real chess source code. > >Annoyance may be a good thing for learners :) Yes, I try to not make everything >ready. If a learner feels annoying because program lacks so many things, it >probably means he thinks he understands everything and can do better without >panic, then he may soon start writting his own engine or studying real ones. It >is main purpose of my program. Make castling a separate function. Make e.p. captures a separate function. If you have a move list with a hash for the board position and a one byte move counter for the non-reversible moves, then the draws are very easy. Use Bob Jenkin's hash if you don't want to make a fancy Zobrist one. 32 bits should be plenty for a move list hash. It shouldn't take more than 100 lines to accomplish everything.
This page took 0 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.