36 lines
685 B
C++
36 lines
685 B
C++
#ifndef GUARD_UTILS_H
|
|
#define GUARD_UTILS_H
|
|
|
|
#include<vector>
|
|
#include<mingl/mingl.h>
|
|
|
|
// hardcoded values
|
|
#define PLAYER_HEIGHT 100
|
|
#define PROJ_LENGTH_FACTOR 2
|
|
|
|
enum class WinValue{
|
|
NOBODY, // should never be used
|
|
PLAYERS,
|
|
INVADERS,
|
|
};
|
|
|
|
using namespace std;
|
|
|
|
enum class InvaderType {
|
|
TYPEA,
|
|
TYPEB,
|
|
TYPEC,
|
|
NONE,
|
|
};
|
|
class InvadersColumn : public vector<InvaderType>{
|
|
public:
|
|
size_t getOutterInvader();
|
|
};
|
|
typedef vector<InvadersColumn> InvadersGrid;
|
|
typedef nsGraphics::Vec2D Position;
|
|
typedef unsigned playerID;
|
|
|
|
// didn't want to use Position because of the semantic with x and y
|
|
bool areLinesColliding(unsigned start1, unsigned end1, unsigned start2, unsigned end2);
|
|
|
|
#endif |