// // Created by emile on 10/31/19. // #ifndef PROJEKTDSIK_PLAYER_H #define PROJEKTDSIK_PLAYER_H #include #include #include #include struct Player{ char name[100]; int x; int y; int points; int connectionId; pthread_t threadId; struct sockaddr_in incoming; } typedef Player; Player* players[200]; bool playerConnected[200]; void InitPlayers(){ for (int i=0; i<200; i++){ playerConnected[i] = false; } } int GetPlayersCount(){ int count=0; for (int i=0; i<200; i++){ if (playerConnected[i] == true){ count++; } } return count; } int AddPlayerToList(Player* p){ for (int i=0; i<200; i++){ if (playerConnected[i] == false){ playerConnected[i]=true; players[i] = p; return i; } } return -1; } int RemovePlayer(Player* p){ for (int i=0; i<200; i++){ if (players[i] == p){ playerConnected[i]=false; players[i] = NULL; free(p); return i; } } return -1; } Player *CreatePlayer(const char *name, int incomingConnectionId, struct sockaddr_in incoming) { time_t t; Player* p = malloc(sizeof(Player)); strcpy(p->name, name); srand((unsigned) time(&t)); p->x = rand() % 50; srand((unsigned) time(&t)); p->y = rand()%50; p->points=0; p->incoming=incoming; p->connectionId=incomingConnectionId; return p; }; #endif //PROJEKTDSIK_PLAYER_H