source: network-game/common/Player.cpp@ 60776f2

Last change on this file since 60776f2 was 60776f2, checked in by dportnoy <dmp1488@…>, 12 years ago

Changed the client to use serialize/deserialize and added serialization code for the player location

  • Property mode set to 100644
File size: 1.1 KB
Line 
1#include "Player.h"
2
3#include <iostream>
4#include <sstream>
5#include <cstring>
6
7using namespace std;
8
9Player::Player(string name, string password)
10{
11 this->name = name;
12 this->password = password;
13 this->pos.x = 200;
14 this->pos.y = 200;
15
16 cout << "Created new player: " << this->name << endl;
17}
18
19Player::Player(string name, sockaddr_in addr)
20{
21 this->name = name;
22 this->password = "";
23 this->pos.x = 200;
24 this->pos.y = 200;
25 this->addr = addr;
26
27 cout << "Created new played: " << this->name << endl;
28}
29
30Player::~Player()
31{
32}
33
34void Player::serialize(char* buffer)
35{
36 ostringstream oss;
37
38 oss << this->name;
39 oss.write((char*)&(this->pos.x), sizeof(int));
40 oss.write((char*)&(this->pos.y), sizeof(int));
41
42 memcpy(buffer, oss.str().c_str(), this->name.length()+1+2*sizeof(int));
43}
44
45void Player::deserialize(char* buffer)
46{
47 istringstream iss;
48 iss.str(buffer);
49
50 iss >> this->name;
51 iss.read((char*)&(this->pos.x), sizeof(int));
52 iss.read((char*)&(this->pos.y), sizeof(int));
53}
54
55void Player::setAddr(sockaddr_in addr)
56{
57 this->addr = addr;
58}
Note: See TracBrowser for help on using the repository browser.