comparison lamertetris/sources/field.h @ 0:2787f5e749ae

INIT
author prymula <prymula76@outlook.com>
date Thu, 21 Sep 2023 22:33:57 +0200
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:2787f5e749ae
1 #ifndef FIELD_H
2 #define FIELD_H
3
4 #include <iostream>
5 //#include "tool.h"
6 #include "shape.h"
7
8 #define NFIGURE 7
9 #define NELEMENT 4
10 #define WHITE 0
11
12 typedef struct _FIELD{
13 SDL_Surface *element[NELEMENT];
14 int color;
15 }FIELD;
16
17 class Field : public Shape {
18
19 public:
20 void render();
21 bool loadFromFile( std::string path, SDL_Renderer * renderer);
22
23 //Gets collision circle
24 //Circle& getCollider();
25 //LTexture *gDotTexture = new LTexture();
26 SDL_Surface *surface;
27 SDL_Surface *original;
28 //SDL_Texture *texture;
29 bool active;
30 int mPosX, mPosY;
31
32 //protected:
33 //int mWidth;
34 //int mHeight;
35
36 //Moves the collision circle relative to the dot's offset
37 //void shiftColliders();
38
39 public:
40 Field();
41 SDL_Surface * get(int n_figure, int n_element);
42 int getColor(int n_figure);
43 bool checkEdgeLeft(SDL_Surface *f, int x_field);
44 bool checkEdgeRight(SDL_Surface *f, int x_field);
45 bool checkEdgeRotate(SDL_Surface *f, int x_field);
46
47 private:
48 FIELD field[NFIGURE];
49 void set(int n_figure, int n_element, int color);
50 void draw(int n_figure, int n_element,int color, int x, int y);
51
52
53 };
54
55 SDL_Rect set_rect(int x, int y, int w, int h);
56 //SDL_Surface * bg();
57 Uint32 getpixel(SDL_Surface *surface, int x, int y);
58
59
60 #endif //FIELD_H