-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.cpp
63 lines (58 loc) · 1.3 KB
/
server.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include "server.h"
Server::Server(int port):
server_socket_(port),
field_(),
player_type_(WHITE),
opponents_type_(BLACK)
{
server_socket_.Bind();
}
void Server::ListenToConnections()
{
server_socket_.Listen();
server_socket_.Accept();
strcpy(buffer_, "Connected");
server_socket_.SendData(buffer_);
printf("Client connected\n");
field_.Draw(player_type_);
}
void Server::SendData()
{
strcpy(buffer_, server_socket_.RecieveData());
int* data = new int[2];
SplitBuffer(buffer_, data);
int row = data[0];
int col = data[1];
field_.Move(row, col, opponents_type_);
field_.Draw(player_type_);
printf("To skip turn press 0\nInput row:");
scanf("%d", &row);
if(row != 0)
{
printf("Input col:");
scanf("%d", &col);
}
else
{
col = 0;
}
while(!field_.Move(row, col, player_type_))
{
field_.Draw(player_type_);
printf("Wrong Turn\nTo skip turn press 0\nInput row:");
scanf("%d", &row);
if(row != 0)
{
printf("Input col:");
scanf("%d", &col);
}
else
{
col = 0;
}
}
field_.Draw(player_type_);
CreateBuffer(row, col, buffer_);
server_socket_.SendData(buffer_);
SendData();
}