X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=game.c;h=36dccb41669cf628070979921560f8fdf93ec3d2;hb=0afebb148532e32e6b47194e08e908beec45087e;hp=896fb8eb25cdddf5a8de56e0b801df122877b1cd;hpb=db7f47cfc17c652a825f7c059ca4a0f3c73a596c;p=netwar.git diff --git a/game.c b/game.c index 896fb8e..36dccb4 100644 --- a/game.c +++ b/game.c @@ -6,9 +6,12 @@ #include "game.h" -#define SPEED (0.000006 * TICK_DELAY) -#define ROTATE (0.000006 * TICK_DELAY) -#define BULL_SPEED (0.0008 * TICK_DELAY) +#define SPEED (0.03 / TICK) +#define ROTATE (0.03 / TICK) +#define BULL_SPEED (0.4 / TICK) + +#define MAX_SPEED (0.3 / TICK) +#define MAX_ROTATE (0.3 / TICK) Player g_player[MAX_PLAYERS]; Bullet g_bullet[MAX_BULLETS]; @@ -53,10 +56,17 @@ static int freebullet() { static void moveplayer(int id, float speed) { g_player[id].vx += speed * cos(g_player[id].r * 2 * M_PI); g_player[id].vy += speed * sin(g_player[id].r * 2 * M_PI); + + if(fabs(g_player[id].vx) > MAX_SPEED) + g_player[id].vx = copysignf(MAX_SPEED, g_player[id].vx); + if(fabs(g_player[id].vy) > MAX_SPEED) + g_player[id].vy = copysignf(MAX_SPEED, g_player[id].vy); } static void roteplayer(int id, float speed) { g_player[id].vr += speed; + if(fabs(g_player[id].vr) > MAX_ROTATE) + g_player[id].vr = copysignf(MAX_ROTATE, g_player[id].vr); } static void fireplayer(int id) {