dos-vga-arena-shooter-game/movement.h

51 lines
1.1 KiB
C

#include "system/keyboard.h"
struct RabbitPosition {
int rabbitPosition[2];
int oldRabbitPosition[2];
int rabbitLimits[2][2];
signed char rabbitVelocity[2];
int mousePosition[2];
int oldMousePosition[2];
int mouseDotPosition[2];
int oldMouseDotPosition[2];
int mouseAngle;
};
struct RabbitWeaponry {
char cooldown;
};
struct BulletPosition {
// 1 if the bullet should be rendered
char isActive;
// sweep up the bullet from the display
char willBeInactive;
int x, y;
int oldX, oldY;
signed int velocityXSteps[2], velocityYSteps[2];
int velocityStep;
};
struct EnemyPosition {
char isActive;
char willBeInactive;
char wasKilled;
int enemyPosition[2];
int oldEnemyPosition[2];
int enemyMoveDelayStep;
int enemyFireDelayStep;
};
void calculateTargetAngle(struct RabbitPosition*, struct MouseStatus*);
void captureAndLimitMousePosition(struct RabbitPosition*, struct MouseStatus*);
void handleRabbitMovement(struct RabbitPosition*, struct KeyboardKeydownState*);
void handleEnemyMovement(struct EnemyPosition[], struct RabbitPosition*);