#include "movement.h" int attemptToFireRabbitBullet( struct RabbitPosition*, struct RabbitWeaponry*, struct BulletPosition[] ); void advanceRabbitBullets( struct BulletPosition[], struct RabbitWeaponry* ); void handleRabbitBulletToEnemyCollisions( struct BulletPosition[], struct EnemyPosition[], struct RabbitWeaponry* ); int handleRabbitToEnemyCollisions( struct RabbitPosition*, struct EnemyPosition[] ); int handleEnemyBulletToRabbitCollisions( struct BulletPosition enemyBulletPosition[], struct RabbitPosition *rabbitPosition ); void buildCollisionGrids( struct BulletPosition rabbitBulletPosition[], struct BulletPosition enemyBulletPosition[], struct RabbitPosition *rabbitPosition, struct EnemyPosition enemyPosition[], struct PlayerPowerup *playerPowerup ); void attemptToFireEnemyBullets( struct EnemyPosition[], struct BulletPosition enemyBulletPosition[], struct RabbitPosition*, int difficulty ); void advanceEnemyBullets( struct BulletPosition[] ); int handleRabbitToPowerupCollision( struct RabbitPosition *rabbitPosition, struct PlayerPowerup *playerPowerup ); void handleEnemyKills( struct EnemyPosition enemyPosition[], struct GlobalGameState *globalGameState, struct PlayerPowerup *playerPowerup, struct RabbitWeaponry *rabbitWeaponry ); void fireCurrentWeaponOnce(struct RabbitWeaponry*); int maybeFireShotCount( struct BulletPosition rabbitBulletPosition[], int availableBullets[], int count );