From: Gerhard Oosthuizen
Subject: Draughts/Checkers in Lisp
Date: 
Message-ID: <4jh02s$n35@misty.rau.ac.za>
I have to write a Checkers program in Lisp.

Any information about implementation of Checkers in Lisp would be very
welcome. Any advice, envent the best way to represent the bord, and
create new moves. Which is best, a list or a array. I am thinking about
a list of lists(all the avialable moves) of a two dimensional array(4*8)
Are there any troubles with this. How can I work around the horison
effect, and all those relevant questions. Is Minimax the best algorithm?

Also I would like info on how to create a function which could represent
the computer player's position in one value, to be able to generate a
function, to test the best moves.

Any source code for interactive games(computer against humans) would be
very welcome.

Thanks %;-)

--
...Gerhard Oosthuizen - {;-).......______ ··············@cs.sun.ac.za.......
.....______.B.Sc. Hons. - 1996..../     / .....Huis 'Div - Stellenbosh!.....
..../     / _  _     _  _  _ ..../     /,-,,-,,  , ,, , , --,,--,-, TM .....
.../   __  |_ |_||_|'_||_|| \.../     / | |'-,|- |-|| | ,  / |_ | |    .....
../_____/  |_ | \| ||_|| \|_/../_____/  |_|,_||_,| ||/| | /_ |__| | [] .....
Computers make very fast, very accurate mistakes
From: M D. Grimminck
Subject: Re: Draughts/Checkers in Lisp
Date: 
Message-ID: <4kgk19$jvd@cobra.fwi.uva.nl>
·······@cs.sun.ac.za (Gerhard Oosthuizen) writes:

>I have to write a Checkers program in Lisp.

>Any information about implementation of Checkers in Lisp would be very
>welcome. Any advice, envent the best way to represent the bord, and
>create new moves. Which is best, a list or a array. I am thinking about

>Any source code for interactive games(computer against humans) would be
>very welcome.

Don't know about lisp, but best you can try reading some
books about computer chess and adapt it to draughts. Writing
                     ^^^^^
a game playing program it not something you do overnight! (if
you want to do right that is), but if it is for school or something,
I would go for the following:

use the alfa-beta algorithm as the search engine. (look it up in a book!)

As evaluation function you can take material plus a *random* value.
Random evaluation is really silly ofcourse, but it is a lot better
than nothing.

This should give enough playing strength to beat beginners at most
games.

Michel
-- 
Michel Grimminck, Computational Physics, University of Amsterdam.
draughts/checker page: http://carol.fwi.uva.nl/~grimmink/draughts.html