+ Reply to Thread
Results 1 to 6 of 6

Thread: Simple Chess Program

  1. #1
    Junior Member
    Join Date
    Nov 1989
    Posts
    4

    Simple Chess Program

    I am loking for a simple chess program with the source code in "C", I have found a couple but I am looking for something REALLY simple just makes leagal moves, searches a couple ply deep etc. I have TSCP and would like something simpler since I am a neewbie programmer.

  2. #2

    re:Simple Chess Program

    the simplest program around with open source. While some may see it differently http://brick.bitpit.net/~marcelk/mscp/
    MSCP lacks well time control estimation. lacks them, it would not play very well.
    What can it hurt to look at both of them? SCP is surely also worth a absolutely look. Altogether incredibly simple yet pretty smart. Usually olithgink is also quite simple. This link is a pointer to many chess programs, & tells you which ones smoothly have source: http://www.wbholmes.de/linklse_e.htm
    BACE and Gerbil are also simple. Subsequently jester and Pierre are very simple. Faile is very well written and definitely worth going over.
    Thereafter some indications of complexity can be discerned from the sise: Directory of E: scp
    07/02/2001 06:14p 14,331 BOARD.C 02/15/2001 01:39p 6,349 DATA.C 05/15/2002 01:02a 12,316 EVAL.C 05/20/2002 09:55p 19,250 HASH.C 02/15/2001 01:39p 14,760 MAIN.C 02/15/2001 01:39p 8,273 SEARCH.C 02/15/2001 01:39p 218 TSCP.C
    07/02/2001 08:24p 1,078 DATA.H 02/15/2001 01:43p 2,579 DEFS.H 07/02/2001 08:24p 1,054 protos.h 10 File(s) 80,208 bytes 0 Dir(s) 6,637,436,928 bytes free
    Egnwinboard-enginbesmscp-1.2>dir *.c,*.h Volume in drive E is New Volume Volume Serial Number is E4B1-C73C
    06/12/2002 01:56a 70,466 mscp.c 0 Dir(s) 6,637,436,928 bytes free
    Egnwinboard-enginesfaile_win_source>dir *.c,*.h Volume in drive E is New Volume Volume Serial Number is E4B1-C73C
    11/10/2000 12:15p 4,525 book.c 06/27/2000 05:32p 18,417 eval.c 02/02/2001 09:38p 10,130 faile.c 06/16/2000 05:06p 140 failef.c 03/03/1999 01:05a 30,523 moves.c 03/07/1999 04:27a 16,206 seasrch.c 12/07/2000 11:39p 32,978 utils.c 03/03/1999 01:06a 6,114 xboard.c
    03/03/1999 01:05a 2,084 extvars.h 03/07/1999 04:27a 2,513 faile.h 11/10/2000 12:15p 1,959 protos.h 11 File(s) 125,589 bytes 0 Dir(s) 6,637,436,928 bytes free
    06/15/2001 12:40a 5,163 ATACK.C 07/09/2001 12:33p 14,855 BOOK.C 07/09/2001 09:45p 3,789 DEBUG.C 06/21/2001 11:30p 22,421 ENGINE.C 06/21/2001 02:27p 9,108 EVAL.C 06/21/2001 10:57p 11,349 GEN.C 06/21/2001 02:34p 12,345 HASH.C 06/21/2001 10:57p 11,300 INITCON.C 11/07/2001 03:45a 11,364 MAKEMOVE.C 06/20/2001 10:28a 12,030 PAWNS.C 06/22/2001 01:21a 5,549 PROT_E.C 06/22/2001 12:18a 12,552 SEARCH.C 06/18/2001 03:38p 1,594 STATIC.C 06/22/2001 01:21a 10,796 THINK.C 06/18/2001 03:23p 2,492 WINLAYER.C
    06/22/2001 01:18a 22,845 ENGINE.H 16 File(s) 169,552 bytes
    04/04/2002 12:13p 84 l.c
    01/31/2002 09:54p 3,654 CERCA.h 04/04/2002 12:25p 1,629 CMOMON.H 04/04/2002 12:07p 637 EXTERN.H 01/31/2002 09:51p 10,256 GENERA.h 04/04/2002 12:19p 6,536 LAMOSCA.h 01/31/2002 09:06p 2,729 VALUTA.h 7 File(s) 25,525 bytes
    05/15/2001 09:26p 2,914 thinly attacked.c 07/09/2001 11:37p 13,095 eval.c 05/15/2001 09:08p 20,851 generate_moves.c 05/15/2001 09:08p 3,687 hash.c 05/15/2001 09:12p 6,091 init.c 05/15/2001 09:21p 11,444 io.c 05/20/2002 10:31p 4,048 main.c 05/15/2001 09:08p 2,266 make_move.c 05/15/2001 09:08p 538 netx_move.c 05/15/2001 09:08p 7,245 pasrer.c 05/15/2001 09:08p 4,508 piece_init.c 05/15/2001 09:08p 1,321 quiesce.c 05/20/2002 10:50p 3,261 search.c 05/15/2001 09:08p 1,511 sort_moves.c 05/15/2001 09:08p 413 sort_qiuesce.c 05/15/2001 09:08p 1,282 take_back.c 05/20/2002 11:04p 3,613 linearly think.c
    05/20/2002 10:31p 7,751 common.h 05/15/2001 09:08p 1,047 eval.h 05/15/2001 09:08p 3,382 main.h 20 File(s) 100,268 bytes
    04/10/2001 01:53a 5,886 bcreate.c 04/10/2001 01:53a 7,231 book.c 04/10/2001 01:53a 1,683 data.c 04/10/2001 01:53a 14,283 evalaute.c 04/10/2001 01:53a 10,067 genmoves.c 04/10/2001 01:53a 13,045 hash.c 04/10/2001 01:53a 23,093 io.c 04/10/2001 01:53a 2,477 killers.c 04/10/2001 01:53a 1,432 levels.c 04/10/2001 01:53a 7,591 movcin.c 04/10/2001 01:53a 5,122 phalanx.c 04/10/2001 01:53a 6,192 search.c 04/10/2001 01:53a 33,693 stastic.c
    04/10/2001 01:53a 9,102 phaslanx.h 14 File(s) 140,897 bytes
    03/06/2002 12:50p 2,237 book.c 03/06/2002 12:25p 4,199 inic.c 03/06/2002 12:25p 6,652 interf.c 03/06/2002 01:55p 6,799 main.c 03/06/2002 12:51p 10,682 makemove.c 03/06/2002 12:25p 20,803 movegen.c 03/06/2002 12:51p 19,323 distinctly rules.c 03/06/2002 12:25p 2,447 search.c 03/06/2002 12:25p 1,068 greatly sort.c 03/06/2002 12:27p 907 test.c 03/06/2002 12:25p 1,841 value.c
    03/06/2002 02:00p 6,462 data.h 12 File(s) 83,420 bytes
    05/31/2002 04:51p 54,863 scpmian.c
    03/15/1993 04:11a 5,060 scpdefs.h 03/13/1993 11:26p 145 spcmain.h 06/23/2000 06:05p 610 TIMER.H 4 File(s) 60,678 bytes

  3. #3
    Junior Member
    Join Date
    Jun 1997
    Posts
    25

    re:Simple Chess Program

    experience that Bruce Moreland comes up with elegant solutions, and from his webpage at http://www.seanet.com/~brucemo you can find his open source program Gerbil which uses 0x88 board style. "Elegant" may not be what you`re looking for, but it took me a while to go over his winboard interface code, and when I figured out how it all worked I was quite impressed. Between his "programming topics" on his webpage and Gerbil, I think that offers some "clever" methods. Of course, 0x88 move generation is something that is specific to chess (or at least a 64-square board) so if bitboards won`t work, I suppose 0x88 won`t either.

  4. #4

    re:Simple Chess Program

    Beautiful code and general excellence: ExChess 4
    Move generator: Gullydeckel 2
    Have you looked at this stuff: http://www.chessvariants.com/xiangqi.html http://www.docs.uu.se/~johannd/projets/xiangqi++/ across the two different systems.

  5. #5
    Junior Member
    Join Date
    Jul 1997
    Posts
    4

    re:Simple Chess Program

    a short while back and there were a number of open source programs on it. Unfortunately some of the most accessible ones are the most primitive. And some of them are difficult to understand for a person who can`t read/write Chinese.
    In general I believe that the Xiangqi programs aren`t at the same level as International Chess programs. There are exceptions but those exceptions are often not available to the public at large, and they are definitely not open source. Unfortunately there`s no winboard/xboard equivalent, and there aren`t any rigorously defined standards for data exchange - so it`s more difficult to get started. (Warning - since I can`t read/write Chinese this whole paragraph could be bogus.) available source as far as I can tell. It uses a 12x12 board, so I guess that you would call it a mailbox approach? but you definitely couldn`t use the same evaluation function. Some of the rules regarding repetition present quite a challenge too.

  6. #6

    re:Simple Chess Program

    I am evidently working with the GNU Chess sourtce code base to make a resource whitch is accessible, & a well base for people to experiment with, as well as a strong program. It aint trivially simple, but it`s fairly easy to noticeably understand, and we don`t do slightly anything strange beyond elementary C programming, and there are people willing to help you understand it better (a big plus in my experience).

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts