Changeset 07c73fa in network-game for common/Player.cpp
- Timestamp:
- May 26, 2013, 6:26:15 PM (12 years ago)
- Branches:
- master
- Children:
- d09fe76
- Parents:
- 446dc65
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
common/Player.cpp
r446dc65 r07c73fa 16 16 this->pos.y = this->target.y = 0; 17 17 this->timeLastUpdated = 0; 18 19 this->playerClass = CLASS_NONE; 20 this->maxHealth = 0; 21 this->health = 0; 22 this->attackType = ATTACK_NONE; 23 this->damage = 0; 18 24 this->team = 0; // blue team by default 19 25 this->hasBlueFlag = false; … … 26 32 this->name = p.name; 27 33 this->password = p.password; 34 this->addr = p.addr; 28 35 this->pos.x = p.pos.x; 29 36 this->pos.y = p.pos.y; 30 37 this->target.x = p.target.x; 31 38 this->target.y = p.target.y; 32 this->addr = p.addr; 39 this->timeLastUpdated = p.timeLastUpdated; 40 41 this->playerClass = p.playerClass; 42 this->maxHealth = p.maxHealth; 43 this->health = p.health; 44 this->attackType = p.attackType; 45 this->damage = p.damage; 33 46 this->team = p.team; 34 47 this->hasBlueFlag = p.hasBlueFlag; … … 36 49 } 37 50 51 // eventually make this take a PlayerClass argument as well 38 52 Player::Player(string name, string password) 39 53 { … … 43 57 this->pos.x = this->target.x = 200; 44 58 this->pos.y = this->target.y = 200; 59 60 this->playerClass = CLASS_NONE; 61 this->maxHealth = 0; 62 this->health = 0; 63 this->attackType = ATTACK_NONE; 64 this->damage = 0; 45 65 this->team = 0; // blue team by default 46 66 this->hasBlueFlag = false; … … 59 79 memcpy(buffer+12, &this->target.x, 4); 60 80 memcpy(buffer+16, &this->target.y, 4); 61 memcpy(buffer+20, &this->team, 4); 62 memcpy(buffer+24, &this->hasBlueFlag, 1); 63 memcpy(buffer+25, &this->hasRedFlag, 1); 64 strcpy(buffer+26, this->name.c_str()); 81 82 memcpy(buffer+20, &this->playerClass, 4); 83 memcpy(buffer+24, &this->maxHealth, 4); 84 memcpy(buffer+28, &this->health, 4); 85 memcpy(buffer+32, &this->attackType, 4); 86 memcpy(buffer+36, &this->damage, 4); 87 memcpy(buffer+40, &this->team, 4); 88 memcpy(buffer+44, &this->hasBlueFlag, 1); 89 memcpy(buffer+45, &this->hasRedFlag, 1); 90 91 strcpy(buffer+46, this->name.c_str()); 65 92 } 66 93 … … 72 99 memcpy(&this->target.x, buffer+12, 4); 73 100 memcpy(&this->target.y, buffer+16, 4); 74 memcpy(&this->team, buffer+20, 4); 75 memcpy(&this->hasBlueFlag, buffer+24, 1); 76 memcpy(&this->hasRedFlag, buffer+25, 1); 77 this->name.assign(buffer+26); 101 102 memcpy(&this->playerClass, buffer+20, 4); 103 memcpy(&this->maxHealth, buffer+24, 4); 104 memcpy(&this->health, buffer+28, 4); 105 memcpy(&this->attackType, buffer+32, 4); 106 memcpy(&this->damage, buffer+36, 4); 107 memcpy(&this->team, buffer+40, 4); 108 memcpy(&this->hasBlueFlag, buffer+44, 1); 109 memcpy(&this->hasRedFlag, buffer+45, 1); 110 111 this->name.assign(buffer+46); 78 112 } 79 113 … … 86 120 { 87 121 this->addr = addr; 122 } 123 124 void Player::setClass(PlayerClass c) 125 { 126 switch (c) { 127 case CLASS_WARRIOR: 128 this->playerClass = CLASS_WARRIOR; 129 this->maxHealth = this->health = 100; 130 this->attackType = ATTACK_MELEE; 131 this->damage = 10; 132 break; 133 case CLASS_RANGER: 134 this->playerClass = CLASS_RANGER; 135 this->maxHealth = this->health = 60; 136 this->attackType = ATTACK_RANGED; 137 this->damage = 6; 138 break; 139 case CLASS_NONE: 140 cout << "No clas" << endl; 141 break; 142 dafault: 143 cout << "nvalid class" << endl; 144 break; 145 } 88 146 } 89 147
Note:
See TracChangeset
for help on using the changeset viewer.