Andy's LEGO® Mindstorms® Page
About this site
  
What's New?
  
Standard Disclaimer
Quite C
  
Francesco Ferrara
  
Getting Started
  
Installing Quite C
  
Compiling a project
  
Sample Code
Chess
  
The Robot Chess Project
  
Programming Chess
  
First Attempt
  
Version 0
  
Version 1
  
The Program
  
The State of Play
  
The User Interface
  
The Move Generator
  
The Move Applier
  
The Rating Algorithm
  
The Search Algorithm
  
Putting it all together
  
The Robot
  
The Head
  
Moving the head
  
Movies
  
Downloads: Source Executables, MLCad Models
4-in-a-Robot
  
4-in-a-Robot - the Robot
  
The 4-in-a-Robot Base
  
The 4-in-a-Robot Delivery Mechanism
  
The 4-in-a-Robot Controller
  
4-in-a-Robot - the Code
  
The 4-in-a-Robot Algorithm
  
The 4-in-a-Robot Control Programming
  
The 4-in-a-Robot Robot-less version
  
Installing 4-in-a-robot
  
Playing the robotless 4-in-a-robot
  
View the source code
Speech
  
The problems with speech
  
Sounds familiar
  
H8 Timers Background
  
Trial and Error
  
Volume Zapper
  
Actually Speaking
  
Speak.c - the code
  
The VB code generator
Some ideas for the future
  
Room positioning robot
  
Neural Net Bot
  
Pianola
  
Text to speech
LEGO® Mindstorms® Links

[268703]

First Attempt

  Because I'm a PC developer, to get things started and work out algorithms and program logic, I built my first PC chess program.

It accepted all legal moves (although pawn promotion was only to a queen).
It used a straightforward negascout to search, and could do about 4 levels in a couple of minutes. I wrote it in a cross platform way, but unfortuantely it had to be shelved - it was too slow, too weak, and took 60K of memory when compiled against the H8 - not much use when you've only got 32K!

Well the inital program was a great learning excercise, even if it didn't produce any usable results. Some things I've learned are that there are several huge bottlenecks (which most chess computers have specific hardware to deal with) - move generation and board rating. The new version takes these things into account, simplifying enough in the more complex areas of the code to speed things up and give a little more raw power to the brain of the program.





Back to: Programming Chess

Show Topic: The Robot Chess Project

Next Page: Version 0