   Using various Classes for player and animations
  Basically im just looking for some advice on how someone would do this, I will explain how I am currently trying to do it and see if people think its a bad idea etc.Im creating a player class like below, basically I create my player list and anytime a new player is a added I just add it to my list, now for animation I was thinking that I could have another class and list to store animation events, like...NumTilesToAnimate = 8;CurrentTile = X;AnimationSpeed = 200; //in milliseconds//dependsing on direction set velocity for x or y to tilesize / frames (64/8)int PlayerID;and every frame loop through all my animation events and use them to update the CurrentTile on my player list by looping through all of our players and finding the ID, do you think I could make a pointer to the original player in my animation list.And the last thing would be looping through all of our players and drawing them at their locationsclass Player  //this is our Player Object{private:int x,y; //pixel location on our surfaceint tilex,tiley; //tile location (Updated after the animated move is complete)int rotation; //direction player is facing (rotation * frames(8) = start frameint PlayerClass; //this is the numerical class for the character used for animations tsPlayerClass[x]int CurrentTile; //this is the current animation we are onint playerID; //this is our id identifying each character (this should be unique)//int health;//int mana;//string name;public:Player(int playID, int tx, int ty, int rot, int playClass)//Constructor{playerID = playID;tilex = tx;tiley = ty;x = tx*TILE_SIZE; //get our initial pixel locationy = ty*TILE_SIZE; //get our initial pixel locationrotation = rot;PlayerClass = playClass;}~Player()//deconstructor{}};typedef list <Player*> PlayerList;// we will use an stl list of animation objectstypedef PlayerList::iterator PlayerListIterator;//our player iterator
  This is what im looking at so farclass PlayerAnimation{private:int TilesToAnimate;int xvelocity;//veclocity in pixels per frame x directionint yvelocity;//veclocity in pixels per frame y directionDWORD AnimationSpeed; //speed in milliseconds for next animation updateDWORD LastAnimation; //the tick count for our last updatePlayerObject *Player;public:PlayerAnimation(int TilesToAnim, int xvel, int yvel, DWORD AnimSpeed, PlayerObject *play) //constructor{TilesToAnimate = TilesToAnim;xvelocity = xvel;yvelocity = yvel;AnimationSpeed = AnimSpeed;Player = play;}~PlayerAnimation() //deconstructor{}};