I see, I figured it must be something like that. So you generate random positions until you find a free spot right? I always wondered if there's a better way, because this takes more time as the available space is reduced and the entities you must check increase.
Gameplay definitely needs more variety and your idea about splitting apples sounds very good! Some random suggestions that are just popping into my mind are:
- different map layouts
- special apples
- temporarily disables spikes and allows you to push them out of the way
- classic inversion of movement direction with respect to input
- rotten apple that loses you one or more segments but does not immediately end the game