title: XNA AI: Managing Enemies on Screen
body: <p>I have two classes, Human and Monster.</p>
  
  <p>both have a Property called MoveBehavior</p>
  
  <p>Human has HumanMoveBehavior, and Monster has MonsterMoveBehavior</p>
  
  <p>I want the HumanMoveBehavior to move AWAY from Monsters, and MonsterMoveBehavior to move TOWARD Humans.</p>
  
  <p>The problem I'm having is where should I put my code to move? </p>
  
  <p>In the Human/Monster class?</p>
  
  <p>Using this approach, I had a Move() Method, which takes a List of all entities in game, decides whether it's a Monster or Human using a method called GetListOfOpponents(List allsprites) and then runs GetNearestOpponent(List opponents);</p>
  
  <p>But this looks really messy.</p>
  
  <p>Should I have a SpriteController that decides where the Sprites move? I'm unsure where I need to put this code :( </p>
  
  <p>Thanks!</p>