88 lines
2.2 KiB
C
88 lines
2.2 KiB
C
#ifndef __CONST_H__
|
|
#define __CONST_H__
|
|
|
|
#include "system/vga.h"
|
|
|
|
#define TILE_SIZE (20)
|
|
#define ARENA_WIDTH_TILES (10)
|
|
#define ARENA_HEIGHT_TILES (10)
|
|
#define COLLISION_GRID_SIZE (ARENA_WIDTH_TILES / 2 * TILE_SIZE)
|
|
|
|
#define MOUSE_DISTANCE (32)
|
|
|
|
#define RABBIT_MOTION_DRAG (2)
|
|
#define RABBIT_MOTION_ACCELERATION (5)
|
|
#define RABBIT_MOTION_MAX_SPEED (10)
|
|
#define RABBIT_MOTION_VELOCITY_DECAY (5)
|
|
|
|
#define RABBIT_BULLET_LIMIT (9)
|
|
#define RABBIT_BULLET_VELOCITY ((RABBIT_MOTION_ACCELERATION / 2) + 1)
|
|
#define RABBIT_BULLET_COOLDOWN (10)
|
|
#define RABBIT_BULLET_HEIGHT_START (8)
|
|
|
|
#define RABBIT_BULLET_SHOTGUN_SPREAD (15)
|
|
|
|
#define RABBIT_HEALTH_MAX (100)
|
|
|
|
#define MOUSE_LIMIT_TOP (TILE_SIZE)
|
|
#define MOUSE_LIMIT_BOTTOM ((ARENA_HEIGHT_TILES - 1) * TILE_SIZE - 1)
|
|
#define MOUSE_LIMIT_LEFT (TILE_SIZE)
|
|
#define MOUSE_LIMIT_RIGHT ((ARENA_WIDTH_TILES - 1) * TILE_SIZE - 1)
|
|
|
|
#define RAD2DEG (180/3.14159)
|
|
#define DEG2RAD (3.14159/180)
|
|
|
|
#define ENEMY_MAX_COUNT (50)
|
|
#define ENEMY_BULLET_LIMIT (ENEMY_MAX_COUNT / 4)
|
|
|
|
#define ENEMY_MOVE_SPEED (1)
|
|
#define ENEMY_MOVE_DELAY (3)
|
|
#define ENEMY_BULLET_VELOCITY (RABBIT_BULLET_VELOCITY - 2)
|
|
|
|
#define ENEMY_FIRE_MIN_DELAY (45)
|
|
#define ENEMY_FIRE_VARIABLE_DELAY (60)
|
|
|
|
#define ENEMY_BULLET_DAMAGE (3)
|
|
#define ENEMY_COLLISION_DAMAGE (6)
|
|
#define ENEMY_KILL_HEALTH_GAIN (1)
|
|
#define ENEMY_HIT_POINT_DIFFICULTY_INCREASE_EVERY (4)
|
|
|
|
#define BASE_ENEMY_SPAWN_COOLDOWN (30)
|
|
#define DIFFICULTY_SPAWN_COOLDOWN_REDUCTION (2)
|
|
#define MINIMUM_ENEMY_SPAWN_COOLDOWN (3)
|
|
#define VARIABLE_ENEMY_SPAWN_COOLDOWN (10)
|
|
|
|
#define POWERUP_RESPAWN_COOLDOWN_PER_LEVEL (10)
|
|
|
|
#define SHOTGUN_ROUNDS_PER_LEVEL (25)
|
|
#define MAX_DIFFICULTY (40)
|
|
#define BASE_KILLS (30)
|
|
#define KILLS_NEEDED_FOR_NEXT_LEVEL_MULTIPLIER (1.25)
|
|
#define HIT_POINT_DIFFICULTY_INCREASE_DELAY (4)
|
|
|
|
#define WEAPON_TYPE_SINGLE_SHOT_GUN (0)
|
|
#define WEAPON_TYPE_SPREAD_SHOT_GUN (1)
|
|
#define WEAPON_TYPE_BEAM_SHOT_GUN (2)
|
|
|
|
#define POWERUP_TYPE_SHOTGUN (1)
|
|
#define POWERUP_TYPE_BEAM_WEAPON (2)
|
|
|
|
#define KNOCKBACK_DISTANCE (3)
|
|
|
|
extern int difficultyBands[];
|
|
extern int hitPointRanges[MAX_DIFFICULTY][4];
|
|
extern struct SpriteBounds bounds;
|
|
|
|
extern struct CompiledSpriteRender rabbit,
|
|
mouse,
|
|
bullet,
|
|
enemy,
|
|
enemyBullet,
|
|
shotgun,
|
|
beam;
|
|
|
|
void buildDifficultyBands();
|
|
void buildHitPointRages();
|
|
|
|
#endif
|