I've just taken a look at this code and I have to agree with Delfi in some ways, the code is not hard or badly written.. the trouble is the subject is not trivial.

DelphiX is one of the easiest things on the planet. You can easily write a game in a weekend with it. There are a TON of tutorial on this site for DelphiX, but that's not what this thread is about.

I'm sure that abened's code could be tidied up a little to suit a different coding style, but most of the time it's all down to personal preference really.

The variable naming could be better in my personal opinion, but that's just my preference and certainly not a fault in the code and in no way a disrespect to abened's fine work with this topic.