]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv/player.cpp
Implemented the myString class in the player and monster classes. This should make...
[irc/gameservirc.git] / gameserv / player.cpp
index b9c7517fe344c1d56ec7e3269b22a284260cd820..72e9367c499c11f6263d3bacdc5fed441bc56bf4 100644 (file)
@@ -7,9 +7,8 @@
 
 void Player::reset()
 {
-    memset(name, 0, 256);
-    memset(password, 0, 256);
-
+    name.setString();
+    password.setString();
     exp = 1;
     gold = 0;
     bank = 500;
@@ -34,25 +33,19 @@ void Player::reset()
 
 Player::Player()
 {
-    name = new char[256];
-    password = new char[256];
     setData(NULL);
 
     #ifdef DEBUGMODE
-       log("New Player: %s", name);
+       log("New Player: %s", name.getString());
     #endif
 }
 
 Player::Player(aClient *user)
 {
-
-    name = new char[256];
-    password = new char[256];
-
     if (user)
     {
        setData(user->stats);
-       strcpy(name, user->getNick());
+       name.setString(user->getNick());
     }
     else
        setData(NULL);
@@ -60,15 +53,12 @@ Player::Player(aClient *user)
 
 Player::Player(char *n)
 {
-    name = new char[256];
-    password = new char[256];
-
     reset(); // Set defaults
 
-    strcpy(name, n);
+    name.setString(n);
 
     #ifdef DEBUGMODE
-       log("New Player: %s", name);
+       log("New Player: %s", name.getString());
     #endif
 }
 
@@ -76,26 +66,23 @@ Player::~Player()
 {   
     #ifdef DEBUGMODE
        char *output;
-       output = new char[strlen(name) + strlen(password) + 48];
+       output = new char[strlen(name.getString()) 
+               + strlen(password.getString()) + 48];
        strcpy(output, "Deleting Player");
     #endif
  
-    if (name != NULL)
+    if (name.getString() != NULL)
     {
        #ifdef DEBUGMODE
-           sprintf(output, "%s: %s", output, name);
+           sprintf(output, "%s: %s", output, name.getString());
        #endif
-
-       delete [] name;
     }
 
-    if (password != NULL)
+    if (password.getString() != NULL)
     {
        #ifdef DEBUGMODE
-           sprintf(output, "%s    Password: %s", output, password);
+           sprintf(output, "%s    Password: %s", output, password.getString());
        #endif
-
-       delete [] password;
     }
 
     #ifdef DEBUGMODE
@@ -108,8 +95,8 @@ void Player::setData(Player *right)
 {
     if (right)
     {
-        strcpy(name, right->name);
-        strcpy(password, right->password);
+       name = right->name;
+       password = right->password;
         exp = right->exp;
         gold = right->gold;
         bank = right->bank;
@@ -130,33 +117,30 @@ void Player::setData(Player *right)
     }
     else
     {
+       char *temp;
+       temp = new char[16];
         reset();
        client = NULL;
        int num = rand() % 32767;
-       sprintf(name, "Player%d", num);
+       sprintf(temp, "Player%d", num);
+       name.setString(temp);
+       delete []temp;
     }
 
     #ifdef DEBUGMODE
-       log("Setting Player data for %s", name);
+       log("Setting Player data for %s", name.getString());
     #endif
 }
 
 monster_::~monster_()
 {
-    delete []name;
-    delete []weapon;
-    delete []death;
+    name.setString("");
+    weapon.setString("");
+    death.setString("");
 }
 
 monster_::monster_()
 {
-    name = new char[64];
-    weapon = new char[64];
-    death = new char[512];
-
-    memset(name, 0, 64);
-    memset(weapon, 0, 64);
-    memset(death, 0, 512);
     strength = 0;
     exp = 0;
     gold = 0;
@@ -165,14 +149,9 @@ monster_::monster_()
 
 monster_::monster_(monster_ *m)
 {
-    name = new char[strlen(m->name) + 1];
-    weapon = new char[strlen(m->weapon) + 1];
-    death = new char[strlen(m->death) + 1];
-
-    strcpy(name, m->name);
-    strcpy(weapon, m->weapon);
-    strcpy(death, m->death);
-
+    name = m->name;
+    weapon = m->weapon;
+    death = m->death;
     strength = m->strength;
     maxhp = m->maxhp;
     hp = m->hp;
@@ -182,14 +161,9 @@ monster_::monster_(monster_ *m)
 
 monster_::monster_(monster_ &m)
 {
-    name = new char[strlen(m.name) + 1];
-    weapon = new char[strlen(m.weapon) + 1];
-    death = new char[strlen(m.death) + 1];
-
-    strcpy(name, m.name);
-    strcpy(weapon, m.weapon);
-    strcpy(death, m.death);
-
+    name = m.name;
+    weapon = m.weapon;
+    death = m.death;
     strength = m.strength;
     maxhp = m.maxhp;
     hp = m.hp;