Blame view

server/server.h 1.48 KB
fef9a1f6b   Pedro L Coutin   Added linked list...
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
  #ifndef _MOTSRV_H_
  #define _MOTSRV_H_
  
  #define MOTSRV_ADDR     "127.0.0.1"
  #define MOTSRV_PORT     "6666"
  #define BACKLOG         8
  
  #define PNAMELEN        32
  #define MAX_PLAYERNUM   32
  
  #define MAZE_MAGIC      0x6D7A
  #define ADD_PLAYER      0x4E45
  #define HUNTER          0x4855
  #define ILLEGAL_MOV     0xF000
  #define PLAYER_MOV      0x4D4F
  #define PLAYER_DC       0x4443
  #define PLAYER_DIE      0x4B4F
  #define PLAYER_WIN      0x5749
  #define SRV_BUSY        0xEEEE
  
  #define _MOT_SERVER
  
  /* Player linked list stuff */
  
  typedef struct _player Player;
  typedef struct _player_set Player_set;
  
  struct _player
  {
      char *name;
      short x, y;
  
      int fd;
      unsigned char playerno;
      unsigned char type;        // 0 is prey, 1 is predator
      unsigned char dead;
  
      Player *next;
      Player *prev;
  };
  
  struct _player_set
  {
      Player *first;
      Player *last;
      Player *cur;
      int last_pno;
  };
a2eea9f4b   Pedro L Coutin   Refactored some o...
49
50
  void begin_game(Player_set *pset);
  int sendMov(int psock, short int movepno, int x, int y);
9f59b128f   Pedro L Coutin   Lots of things ch...
51
52
  void broadcast_disconnect(Player_set *pset, int fd, int death);
  Player *check_collision(Player_set *pset, Player *node);
a2eea9f4b   Pedro L Coutin   Refactored some o...
53

fef9a1f6b   Pedro L Coutin   Added linked list...
54
55
56
57
58
  Player_set *init_pset();
  void free_pset(Player_set *p);
  void add_player(Player_set *set);
  void rm_player(Player_set *set, Player *p);
  Player *player_byfd(Player_set *s, int fd);
ee8c96d34   Rohan Rangray   fixed errors
59
  Player *player_byindex(Player_set *s, int fd);
3647bea76   Pedro L Coutin   Fixed?
60
  void pset_map(Player_set *s, void (*func)(), int fd, unsigned short sig);
fef9a1f6b   Pedro L Coutin   Added linked list...
61
62
63
64
65
  
  int mrand(int floor, int ceil);
  void handle_connecting_player(int newfd, Player_set *pset);
  
  #endif