![cool.gif](http://forums.xboxscene.org/html/emoticons/cool.gif)
Brings back a lot of youthful memories
![wink.gif](http://forums.xboxscene.org/html/emoticons/wink.gif)
I used to make freeware games using a simple package a few years back, and although it was no-where near C++, it usually meant a lot of complicated logic being used to perform tasks to get past the program's own limitations. Basically, here's a way I would have used in order to make a
Baku Baku style engine that ate ALL of the blocks
![smile.gif](http://forums.xboxscene.org/html/emoticons/smile.gif)
Perhaps you could, when an animal block hits the bottom/another block, have it fire four invisible tracer objects in the four directions (up, down, left and right, of course
![smile.gif](http://forums.xboxscene.org/html/emoticons/smile.gif)
). If a tracer collides with a food block that doesn't match the animal it came from, it does nothing and the tracer is destroyed, but if it collides with a food block that matches the animal, it marks the block by creating a unique value associated with the block (created perhaps by its X and Y coordinates) and sets it to 1, then the marked blocks fires off tracers of its own, which move on to mark similar blocks, or be destroyed by different ones. In order to stop blocks being marked multiple times, have tracers destroyed by marked, similar blocks.
Once all of the blocks are marked (once all of the tracers are gone), expand a circle around the animal block as a detector. If it collides with a marked block, the animal sprite moves over it and the block is destroyed, and the circle is reset and expanded again (whether its from the original point of where the animal block was, or where the last block was destroyed is your choice, but the former is probably the best choice, as the animal should eat the blocks in a more logical order
![smile.gif](http://forums.xboxscene.org/html/emoticons/smile.gif)
Anyhow, this process is repeated until all of the marked blocks have been eaten
![smile.gif](http://forums.xboxscene.org/html/emoticons/smile.gif)
Anyhow, that's the method I probably would have used. It's probably a slow and wasteful method of doing it, but like I said, I wasn't working with C++. Workarounds were often used to do anything more advanced than a bouncing ball
![wink.gif](http://forums.xboxscene.org/html/emoticons/wink.gif)