Index: common/Player.cpp
===================================================================
--- common/Player.cpp	(revision d09fe767422adf7e77284e2598f1403caa72fc49)
+++ common/Player.cpp	(revision 46fa35a62917af23ef297a400a269cae1ec85a80)
@@ -72,4 +72,38 @@
 }
 
+void Player::setId(int id)
+{
+   this->id = id;
+}
+
+void Player::setAddr(sockaddr_in addr)
+{
+   this->addr = addr;
+}
+
+void Player::setClass(PlayerClass c)
+{
+   switch (c) {
+      case CLASS_WARRIOR:
+         this->playerClass = CLASS_WARRIOR;
+         this->maxHealth = this->health = 100;
+         this->attackType = ATTACK_MELEE;
+         this->damage = 10;
+         break;
+      case CLASS_RANGER:
+         this->playerClass = CLASS_RANGER;
+         this->maxHealth = this->health = 60;
+         this->attackType = ATTACK_RANGED;
+         this->damage = 6;
+         break;
+      case CLASS_NONE:
+         cout << "No clas" << endl;
+         break;
+      dafault:
+         cout << "nvalid class" << endl;
+         break;
+   }
+}
+
 void Player::serialize(char* buffer)
 {
@@ -112,38 +146,4 @@
 }
 
-void Player::setId(int id)
-{
-   this->id = id;
-}
-
-void Player::setAddr(sockaddr_in addr)
-{
-   this->addr = addr;
-}
-
-void Player::setClass(PlayerClass c)
-{
-   switch (c) {
-      case CLASS_WARRIOR:
-         this->playerClass = CLASS_WARRIOR;
-         this->maxHealth = this->health = 100;
-         this->attackType = ATTACK_MELEE;
-         this->damage = 10;
-         break;
-      case CLASS_RANGER:
-         this->playerClass = CLASS_RANGER;
-         this->maxHealth = this->health = 60;
-         this->attackType = ATTACK_RANGED;
-         this->damage = 6;
-         break;
-      case CLASS_NONE:
-         cout << "No clas" << endl;
-         break;
-      dafault:
-         cout << "nvalid class" << endl;
-         break;
-   }
-}
-
 bool Player::move(WorldMap *map) {
    int speed = 100; // pixels per second. should probably be in the constructor
Index: common/Player.h
===================================================================
--- common/Player.h	(revision d09fe767422adf7e77284e2598f1403caa72fc49)
+++ common/Player.h	(revision 46fa35a62917af23ef297a400a269cae1ec85a80)
@@ -39,10 +39,10 @@
    ~Player();
 
+   void setId(int id);
+   void setAddr(sockaddr_in addr);
+   void setClass(PlayerClass c);
+
    void serialize(char* buffer);
    void deserialize(char* buffer);
-   void setClass(PlayerClass c);
-
-   void setId(int id);
-   void setAddr(sockaddr_in addr);
 
    bool move(WorldMap *map);
Index: server/server.cpp
===================================================================
--- server/server.cpp	(revision d09fe767422adf7e77284e2598f1403caa72fc49)
+++ server/server.cpp	(revision 46fa35a62917af23ef297a400a269cae1ec85a80)
@@ -417,4 +417,15 @@
             // choose a random team (either 0 or 1)
             p->team = rand() % 2;
+
+            // choose a random class
+            int intClass = rand() % 2;
+            switch (intClass) {
+               case 0:
+                  p->setClass(Player::CLASS_WARRIOR);
+                  break;
+               case 1:
+                  p->setClass(Player::CLASS_RANGER);
+                  break;
+            }
 
             // tell the new player about all the existing players
