• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

simplech.src/H03-May-2022-2,4062,057

xcheckers.src/H03-May-2022-2,4181,731

CLICKMEH A D08-Dec-2004722 3522

COPYINGH A D10-Aug-200017.6 KiB341281

ImakefileH A D18-Nov-20042.2 KiB7355

Local.configH A D03-May-2022434 2723

READMEH A D17-Nov-20032.7 KiB6545

README.artistsH A D17-Nov-20031 KiB2417

README.bindistH A D17-Nov-20032 KiB5437

README.simplechH A D10-Aug-20002.6 KiB8467

buttons.shH A D09-Dec-2001784 2723

test.shH A D10-Aug-2000214 139

README

1README - Fri Mar 17 13:57:53 MET 2000
2
3xcheckers lets you play checkers in an X Window against others over the
4internet and against the computer.
5
6    ------------------------------------------------------------------
7
8To compile the sources, install binaries and run the application type
9
10    xmkmf -a                  #     create makefiles
11    make                      #     start compilation
12    sh test.sh                #     test binaries
13    su (yr. secret)           #     get root privileges
14    make install              #     install binaries, defaults
15    make install.man          #       \ and man pages
16    exit                      #       \ for systemwide execution
17    xcheckers                 #     run the application
18
19and a checkerboard will be displayed, which is partly obscured by the
20help window. Select "new game *" from the buttons and you better consider
21your moves well.
22
23In the terminal window you will see a lot of engine output. Xcheckers
24does nothing to hide this, its as if you called the engine alone. Use
25it to see whats going on.
26
27    -------------------------------------------------------------------
28
29To customize the buttons edit your ~/.xcheckersrc. For each button there
30is a label and a call resource. The manpage can tell you more about it.
31
32To make connecting to icds the default add "xcheckers.icds: true" to your
33~/.xcheckersrc. You may have to set icds to display the board as style 5.
34From v1.3 on, xcheckers does this by itself, on encountering a board style 1.
35
36Today there is no permanent ICDS on the internet. Contact Micheal Rohrer
37if you want to setup your own. It isnt that hard.
38
39To run the engine on a different computer choose -icds -host some.host.net
40-port 23, log in to your shell account and start the engine; there may be
41some additional echo.
42
43To have the application called from a window manager menu or button, enter
44"xterm -e xcheckers" as its command.
45
46    -------------------------------------------------------------------
47
48Additional Makefile targets are
49    make dist   : tar the sources to ../xcheckers-[version].tar.gz
50    make bindist: tar the binaries to ../xcheckers-[vrsn].[pltfrm].tar.gz
51
52    -------------------------------------------------------------------
53
54xcheckers is free software, for details see accompanying file COPYING.
55xcheckers is partly based on xics-2.3 bye Shirish Chinchalkar, Urban
56Koistinen, Nelson Minar and Patrick Surry. Courtesy of Martin Fierz, this
57contains simplech, a strong search engine. Check out the icds homepage:
58http://sonic.digital-web.net/~lionman/
59
60    -------------------------------------------------------------------
61
62xcheckers homepage is at http://arton.cunst.net/xcheckers/
63Send suggestions, bug reports and bug fixes to <pch(a)myzel.net>
64
65

README.artists

1README.artists - Fri Mar 17 13:57:53 MET 2000
2
3- Design of stones and patches: A scene file for xcheckers is of format xpm.
4  It is wide six times its height, eg 204 x 34, and looks like this:
5
6  +--------+--------+--------+--------+--------+--------+
7  |        |/ / / / |        |        |   __   |   __   |
8  |        | / / / /|   __   |   __   |  |__|  |  |__|  |
9  |        |/ / / / |  |__|  |  |__|  |  |__|  |  |__|  |
10  +--------+--------+--------+--------+--------+--------+
11    white    black    black    white    black    white
12    square   square   man      man      king     king
13
14  The first two fields become the white and the black squares of the board.
15  The other fields show the pieces only - make the background transparent!
16
17- Colours of text and window: xcheckers looks up two symbolic colours in a
18  scene file, namely "paper" and "pen", to make status line and board match.
19  You can use a text editor to append the codes "s paper" and "s pen" to the
20  lines defining the colours of your choice.
21
22Feel free to send your artwork to <pch(a)myzel.net>.
23
24

README.bindist

1README.bindist - Fri Mar 17 14:02:01 MET 2000
2
3xcheckers lets you play checkers in an X Window against others over the
4internet and against the computer.
5
6    ------------------------------------------------------------------
7
8To run the application type:
9
10  ./xcheckers
11or (to make use of a big screen)
12  ./xcheckers -s big.xpm
13or (to have it look arcade)
14  ./xcheckers -s stars.xpm
15or (to connect to icds)
16  ./xcheckers -i
17
18and a checkerboard will be displayed, while simplech from this terminal
19will prompt you to enter a colour and a level; then you can move the
20pieces with the mouse.
21
22    -------------------------------------------------------------------
23
24When moving the binaries and pictures, make sure to move xcheckersrc to
25~/.xcheckersrc and to correct the paths.
26
27To make connecting to icds the default add "xcheckers.icds: true" to your
28~/.xcheckersrc. The manpage can tell you more about resources. Read the
29manpage like this: nroff -man xcheckers.man | more.
30
31You may have to set icds to display the board as style 5. From v1.3 on,
32xcheckers does this by itself, when encountering a board style 1.
33
34To run the engine on a different computer choose -icds -host some.host.net
35-port 23, log in to your shell account and start the engine; there may be
36some additional echo.
37
38To have the application called from a window manager menu or button, enter
39"rxvt -e xcheckers" as its command.
40
41    -------------------------------------------------------------------
42
43xcheckers is free software, for details see accompanying file COPYING.
44xcheckers is partly based on xics-2.3 bye Shirish Chinchalkar, Urban
45Koistinen, Nelson Minar and Patrick Surry. Courtesy of Martin Fierz, this
46contains simplech, a strong search engine. Check out the icds homepage:
47http://sonic.digital-web.net/~lionman/
48
49    -------------------------------------------------------------------
50
51xcheckers homepage is at http://arton.cunst.net/xcheckers/
52Send suggestions, bug reports and bug fixes to <pch(a)myzel.net>
53
54

README.simplech

1README.simplech
2
3  ----------> name: simple checkers
4  ----------> author: martin fierz
5  ----------> purpose: platform independent checkers engine
6  ----------> version: 1.11
7  ----------> date: 8th october 98
8  ----------> description: checkers.c contains a simple but fast
9  checkers engine and a simple interface to this engine. checkers.c
10  contains three main parts: interface, search and move
11  generation. these parts are separated in the code. if you want to
12  improve on the play of checkers, you will mainly have to improve on
13  the evaluation function; this version does nothing but count
14  material.  even though it only counts pieces, this checkers engine
15  will blow away all shareware checkers programs you will find on the
16  internet, with the exception of blitz54, which is written for DOS.
17
18  board representation: the standard checkers notation is
19
20  (white)
21  32  31  30  29
22  28  27  26  25
23  24  23  22  21
24  20  19  18  17
25  16  15  14  13
26  12  11  10   9
27  8   7   6   5
28  4   3   2   1
29  (black)
30
31  the internal representation of the board is different, it is a
32  array of int with length 46, the checkers board is numbered
33  like this:
34
35  (white)
36  37  38  39  40
37  32  33  34  35
38  28  29  30  31
39  23  24  25  26
40  19  20  21  22
41  14  15  16  17
42  10  11  12  13
43  5   6   7   8
44  (black)
45
46  let's say, you would like to teach the program that it is
47  important to keep a back rank guard. you can for instance
48  add the following (not very sophisticated) code for this:
49
50  if(b[6] & (BLACK|MAN)) eval++;
51  if(b[8] & (BLACK|MAN)) eval++;
52  if(b[37] & (WHITE|MAN)) eval--;
53  if(b[39] & (WHITE|MAN)) eval--;
54
55  the evaluation function is seen from the point of view of the
56  black player, so you increase the value v if you think the
57  position is good for black.
58
59  if you want to program a different interface, you call the
60  function "checkers":
61
62  checkers(int b[46],int color, double maxtime, char *str);
63
64  in b[46] you store the position, each square having one of
65  the values of {FREE, BLACK|MAN, BLACK|KING, WHITE|MAN, WHITE|KING,
66  OCCUPIED}. OCCUPIED are those squares which do not appear in the
67  above board representation, i.e. 0,1,2,3,9,18,27,36,41-45.
68  color is the color to move, either BLACK or WHITE.
69  maxtime is the about half the average time it will take to
70  calculate a move.
71
72  after checkers completes, you will have the new board position in
73  b[46] and some information on the search in str.
74
75  initcheckers(int b[46]) initializes board b to the starting
76  position of checkers.
77
78  have fun!
79
80  questions, comments, suggestions to:
81
82  Martin Fierz
83  mafierz@ibm.net
84