Improve design movement on Snake game : <p>I am trying to improve my game development design and for now I have something like this:</p>

<pre><code>class Movement {
private:
  Body b;    
public:
  move_up() {
    // catch the body head
    // add one snake character above head
    // catch the body tail
    // remove the tail character
  }
  move_down(){
    // catch the body head
    // add one snake character below head
    // catch the body tail
    // remove the tail character
  }
  move_left(){
    // catch the body head
    // add one snake character on left side of head
    // catch the body tail
    // remove the tail character
  }
  move_right(){
    // catch the body head
    // add one snake character on right side of head
    // catch the body tail
    // remove the tail character
  }
}
</code></pre>

<p>It is pretty ugly to see repetead pseudocode inside each move method. I would like to make this more generic but I don't know how to do it in C++. Any suggestions?</p>
