I am making a snake game and am having trouble to make the snake go longer, at the moment when I run the program, I just have the snake head eating apples. But I want the snake head(30x30) to spawn body parts(20x20) under himself every second. After I can do that, the snake head has to draw 4 body parts and the computer must "delete" the oldest body part before a new one spawns. It is a 2d game, and the snake can curve instead of 90 degree turns. I hope you will all understand.
Without knowing the structure of the program I'd suggest making a
Queue<BodyPart> to track the current body parts. Each second dequeue the tail or the snake, spawn the part at the head's location and add it to the queue, and then move the head. To draw the snake you just iterate over the queue and draw the body parts it contains.