From c1ff6e0d9fccdebf4441148d32a2af05d963965f Mon Sep 17 00:00:00 2001 From: Pedro L Coutin <pcoutin@ucsd.edu> Date: Fri, 3 Jan 2014 03:26:48 -0800 Subject: [PATCH] Dying works! But stuff is still really buggy. :( --- client/main.c | 21 ++------------------- server/server.c | 25 +++++++++++++------------ server/server.h | 4 +++- 3 files changed, 18 insertions(+), 32 deletions(-) diff --git a/client/main.c b/client/main.c index 7759646..70ec94e 100644 --- a/client/main.c +++ b/client/main.c @@ -189,7 +189,7 @@ main(int argc, char *argv[]) } else if (numready) { - unsigned char packet, hunter; + unsigned char packet; unsigned char pnum, movx, movy; printf("srv socket is ready!!\n"); @@ -230,26 +230,9 @@ main(int argc, char *argv[]) goto exit; } printf("Player %d deaded!!!!!\n", pnum); - removep(choose_player(player,pnum)); + removep(choose_player(player, pnum)); break; - case ADD_PLAYER: - printf("ADD_PLAYER\n"); - hunter = addp(player,srv_sock); - choose_hunter(player,hunter); - me = choose_player(player,myno); - draw_maze(MAZE.X, MAZE.Y); - - PLAYER *temp; - for (temp = player->next; temp != NULL; temp = temp->next) - { - if (temp != NULL && temp->sprite != NULL) - { - printf("drew player %d\n", temp->playerno); - drawPlayer(temp); - } - } - break; } } } diff --git a/server/server.c b/server/server.c index ea1b94f..2b51130 100644 --- a/server/server.c +++ b/server/server.c @@ -324,6 +324,9 @@ main(int argc, char *argv[]) Player *coll; int movPnum = justMoved->playerno; + justMoved->x = x; + justMoved->y = y; + /* * If the player that just moved is a hunter, and it * just stepped on a regular player, kill the (regular) @@ -471,21 +474,19 @@ set_positions(Player_set *pset) short int choose_hunter(Player_set *pset) { - int check = 0; Player *temp; - while (!check) - { - int hpno = mrand(1, pset->last_pno); - for (temp = pset->first; temp != NULL; temp = temp->next) + unsigned int hpno = mrand(1, pset->last_pno); + + for (temp = pset->first; temp != NULL; temp = temp->next) + { + if (temp->playerno == hpno) { - if (temp->playerno == hpno) - { - return hpno; - } + temp->type = 1; + return hpno; } } - return 0; + return -1; } @@ -493,14 +494,14 @@ void begin_game(Player_set *pset) { unsigned short magic; + unsigned char hpno; int j = 0,i = 0; - short int hpno = mrand(0, pset->last_pno); Player *cur, *info; set_positions(pset); printf("postions set!!\n"); - choose_hunter(pset); + hpno = choose_hunter(pset); for (cur = pset->first; cur != NULL; cur = cur->next) { diff --git a/server/server.h b/server/server.h index 749deb5..648e04d 100644 --- a/server/server.h +++ b/server/server.h @@ -59,7 +59,9 @@ void add_player(Player_set *set); void rm_player(Player_set *set, Player *p); Player *player_byfd(Player_set *s, int fd); Player *player_byindex(Player_set *s, int fd); -void pset_map(Player_set *s, void (*func)(), int fd, unsigned short sig); +void pset_map(Player_set *s, + void (*func)(Player *p, int a, unsigned short sig), int fd, + unsigned short sig); int mrand(int floor, int ceil); void handle_connecting_player(int newfd, Player_set *pset); -- 1.9.1