You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
825 B
C

#pragma once
#define SCREEN_W 640
#define SCREEN_H 480
#define SCREEN_R_B 560
#define SCREEN_L_B 80
#define TILE_SIZE 40
#define LEVEL_LEN 120
//State machine states
enum State {
Start,
Gameplay,
Win,
Lose,
Exit
};
//Movement directions
enum Direction {
U,
D,
L,
R,
UR,
UL,
DR,
DL
};
//Game object behaviors
enum Behavior {
Player,
Enemy
};
//Define current background layer for scrolling
enum BgLayer {
Front,
Middle,
Back
};
//Game object hitbox for collision detection
struct Hitbox {
int x;
int y;
int height;
int width;
};
//Struct for enemy queue
struct NewEnemy {
int x;
Behavior e_type;
int when;
};
//When inputs must be delayed by a number of frames (no longer used, kept for possible future use
struct InputDelay {
bool input_hit;
int delay_sec;
int max_delay;
};