[ProgClub list] ai-checkers in jj5-test

John Elliot jj5 at progclub.org
Sun Oct 16 06:26:02 AEDT 2011


I've added a new project at ProgClub called 'jj5-test'. I haven't 
created the project page on the wiki yet, but I will eventually. At the 
moment the project is only in svn:

  http://www.progclub.org/pcrepo/jj5-test/trunk/

The first 'test' project that I've started was inspired by a lecture 
from the AI class:

  http://www.jj5.net/sixsigma/AI_class#Checkers

Essentially a checkers board is shown, and I was curious as to whether 
red (x) or white (o) could win (depending on who moves first). So I 
intend to enumerate all possible games and see what the story is.

I have no idea if my approach is computationally feasible or not, and 
I'm only about 20% of the way into a solution, but my code is in C and 
available here if you're interested:

http://www.progclub.org/pcrepo/jj5-test/trunk/ai-checkers/checkers.c?view=markup

I accidentally started on this and have now been working on it all 
night. I think that was a pretty big mistake given the homework for both 
of the classes I'm enrolled in is due Monday morning, and I'm nowhere 
near finished. Whoops. :P

Now that the project is in svn I'll stop working on it, and pick it up 
again later on when I have some spare time. If you're interested in 
working on it for me, please be my guest. To do this you would just need 
to use your ProgClub member login to checkout from the read-write 
repository and then checkin your edits. The URL to checkout for the 
project is:

  https://www.progclub.org/svn/pcrepo/jj5-test/trunk/ai-checkers/

There are 'compile' and 'test' scripts in the project folder which show 
how to compile and test the application.

One thing that I learned about C while coding up my simulation is how 
you use 'arg lists' or a variable number of parameters to a function. 
Essentially you use the va_start, va_arg and va_end macros. If you're 
interested you can see this in use in the test_calc_next_board function 
starting (at time of writing) on line 215.



More information about the list mailing list