What are you trying to do? I can't even figure out a decent use for that code. I mean no offense, I'm just trying to understand.

Why are you using a for-loop for your patterns, and a sort of odd incrementation pattern to draw your tiles? Why aren't you using 1 image/pattern and doing a for loop such as:[pascal] for x := 0 to 7 do
for y := 0 to 7 do
Images[0].Draw(x*32,y*32,0);[/pascal]And you're using a superfluous for-loop to cycle patterns, yet you aren't even using that part of it.

At a certain point weird code will net weird results, but I can't put a real use on this. Will you please tell us what you're trying to accomplish, and then maybe I can give some useful input to you.