-
Notifications
You must be signed in to change notification settings - Fork 0
/
pickups.h
95 lines (73 loc) · 1.53 KB
/
pickups.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#ifndef _PICKUPS_
#define _PICKUPS_
#include <SDL2/SDL.h>
#include <stdlib.h>
#include <time.h>
#include "LTexture.h"
#include "painter.h"
#include "animation.h"
#include "level.h"
#include "particles.h"
#include "cmath"
// DEBERÍA HABER HECHO UNA CLASE "OBJETO/ENTIDAD" Y HEREDAR TODAS LAS COSAS!
// PERO NOOOOO!
// teodioyodelpasadoportuvagancia
// teodioyodelfuturoporquenovasaarreglarnada
class pickup{
public:
pickup(LTexture* sprt, int x, int y, int lives);
virtual ~pickup();
virtual void step(level*);
virtual void draw(painter*);
void getPos(int &x, int &y) const;
SDL_Rect* getColBox();
bool isPickable();
bool isAlive();
virtual void onCollisionWithPlayer(level*);
virtual void die();
protected:
int x, y;
double spdX, spdY;
double accelX, accelY;
bool onGround;
bool pickable;
int visible;
int alpha;
int angle;
int lives;
int maxLives;
bool alive;
SDL_Rect colBox;
LTexture* spritesheet;
animation* currentAnim;
};
class coin : public pickup{
public:
coin(LTexture* sprt, int X, int Y);
~coin();
void step(level*);
void draw(painter*);
void onCollisionWithPlayer(level*);
protected:
animation* monedita;
};
class floatingCoin : public coin{
public:
floatingCoin(LTexture* sprt, int X, int Y);
~floatingCoin();
void step(level*);
void draw(painter*);
private:
};
class heart : public pickup{
public:
heart(LTexture* sprt, int X, int Y);
~heart();
void step(level*);
void draw(painter*);
void onCollisionWithPlayer(level*);
private:
animation* corazoncito;
int prevY;
};
#endif