title: Issue with updating list in snake game
body: <p>So I've been programming a snake game using python mode for processing, but I have been having an issue with the list I have set up for keeping track of the body of the snake itself.</p>
  
  <p>My current implementation uses a list of vectors to keep track of the location of each segment of the snake. I then loop through this list to display the squares for each segment. At the beginning of the game, the list only has 1 entry (the head), but upon eating a piece of food, I insert a new vector to the front of the list with the same value as the current head. I then update the list but looping through it and finally, I update the head by using a velocity vector.</p>
  
  <pre class="lang-py prettyprint-override"><code>scl = 10
  dim = 20
  
  def setup():
      global s
      global f
      size(dim * scl, dim * scl)
      s = Snake()
      f = Food()
  
  def draw():
      background(201)
      global s
      global f
      if s.eat(f):
          f.location()
      s.update()
      s.display()
      f.display()
      delay(50)
  
  class Snake:
      def __init__(self):
          self.body = [PVector(0, 0)]
          self.v = PVector(1, 0)
          self.total = 1
  
      def update(self):
          for i in range(self.total - 1):
              self.body[self.total - 1 - i] = self.body[self.total - 2 - i]
          print("Position")
          print(self.body)                
          self.body[0].x += self.v.x * scl
          print(self.body)
          self.body[0].y += self.v.y * scl
          print(self.body)
  
      def display(self):
          fill(101) 
          for i in range(self.total):
              rect(self.body[i].x + 1, self.body[i].y + 1, scl - 2, scl - 2)
  
      def eat(self, p):
          tmp = self.body[:]
          dis = dist(self.body[0].x, self.body[0].y, p.pos.x, p.pos.y)
          if dis &lt; 1:
              self.total += 1
              self.body.insert(0, tmp[0])
              return True
          else:
              return False
  </code></pre>
  
  <p>I expect the output to be a list of differing vectors, each that draw a square next to the previous and next entries. Instead, after eating food, all the vectors are the same within the body list. Does anyone know how I can fix this?</p>