title: Create a Snake Tail in Pygame
body: <p>I'm creating a SnakeGame using pygame and I'm having some troubles with the Snake tail. The problem is that I literally have no IDEA how I should do this. </p>
  
  <p>I check where is my snake going (up,down,left or right) and then I add +score blocks behind the snake head. In this way, if the Snake has eaten 4 apples, I'll add 4 blocks. But it is not the right way. I mean, the tail will be "straight" and will never turn if the snake head turns.</p>
  
  <p>So my question is: how should I do that? 
  I took some options, but they're a lot, for example:</p>
  
  <ol>
  <li>checking all the time the body coordinates, but I think it would
  become hard to do</li>
  <li>creating a list and add the snake head position when it turns, but then what should I do?</li>
  <li>using all my snake body blocks like a head, so it would be like adding a block behind the snake head</li>
  <li>always add a block behind the head and delete the last one, but I don't know how to create the code to do this</li>
  </ol>