#include #include "protocol.h" #define MAX_PLAYERS 32 #define MAX_BULLETS (MAX_PLAYERS * 8) #define TICK 24 // Количество обновлений мира в секунду #define TICK_DELAY (1000 / TICK) // Задержка между тиками #define BULLET_TIME (TICK * 6) // Время жизни игрока #define PLAYER_SHOOT ((int)(TICK * 0.8)) // Задержка между выстрелами #define PLAYER_SIZE 0.01785 // Радиус игрока #define STAR_SIZE 0.1 // Радиус звезды typedef struct Player { /* public */ bool live; float x, y, r; float vx, vy, vr; int shoot; /* internal */ bool updated; } Player; typedef struct Bullet { /* public */ bool live; int owner; float x, y; float vx, vy; int tick; /* internal */ bool updated; } Bullet; extern Player g_player[MAX_PLAYERS]; extern Bullet g_bullet[MAX_BULLETS]; void g_player_set(unsigned int id, bool live, float x, float y, float r, float vx, float vy, float vr, int shoot); void g_bullet_set(unsigned int id, unsigned int owner, bool live, float x, float y, float vx, float vy, int tick); void g_player_does(unsigned int id, DoesBits code); void g_update(); void g_init(bool server_mode);