summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorOxore <oxore@protonmail.com>2017-11-30 17:42:15 +0300
committerOxore <oxore@protonmail.com>2017-11-30 17:42:15 +0300
commitae01c7fc02f17105f9e04af493f4dd8986fbcb8b (patch)
treeea40b11235633946b12b66aba56a412c5db800e4 /include
parent75d123b79dc894f2c2de43f25009b5fa84a00eec (diff)
Move includes to root dir
Diffstat (limited to 'include')
-rw-r--r--include/common.h42
-rw-r--r--include/functions.h30
-rw-r--r--include/tet_conf.h83
3 files changed, 155 insertions, 0 deletions
diff --git a/include/common.h b/include/common.h
new file mode 100644
index 0000000..5a3d63e
--- /dev/null
+++ b/include/common.h
@@ -0,0 +1,42 @@
+#ifndef TCOMMON_H
+#define TCOMMON_H
+
+#include <SFML/Audio.h>
+#include <SFML/Graphics.h>
+#include <SFML/System.h>
+#include <SFML/Window/Keyboard.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <string.h>
+#include <time.h>
+#include "tet_conf.h"
+
+typedef struct tCell {
+ uint8_t a; // active/empty state of cell
+ sfColor fColor; // fill color
+} tCell;
+tCell fldCAtt[25][10];// fld cells attributes
+
+
+/*
+ * shape coords
+ * y
+ * ^. . . .
+ * |. . . .
+ * |. . . .
+ * |. . . .
+ * 0------->x
+ *
+ */
+
+typedef struct shapeSt {
+ int x; // x coord of shape's left side
+ int y; // y coord of shape's bottom
+ int t; // shape type
+ sfColor fColor; // shape color
+ uint8_t c[4][4]; // array of shape cells
+} shapeSt;
+shapeSt actiSh, nxtShape;
+
+#endif
diff --git a/include/functions.h b/include/functions.h
new file mode 100644
index 0000000..ef9d42f
--- /dev/null
+++ b/include/functions.h
@@ -0,0 +1,30 @@
+#ifndef TFUNCTIONS_H
+#define TFUNCTIONS_H
+
+/* Prototypes of functions*/
+void tKeyCtrl();
+void initFld();
+void tTick();
+void resetActiveShape();
+void putShape();
+int cellCollisionCheck(int dir);
+int wallCollisionCheck();
+int cellRotCollisionCheck();
+int wallRotCollisionCheck();
+void rotateLeft();
+void rotateRight();
+void rotateShape();
+int linesRmScore();
+void scoreDisplay();
+void colorizeFld();
+void colorizeActiSh();
+void drawFld(sfRenderWindow *window);
+void menuTick();
+void colorizeRandom();
+void gameover();
+void genNextShape();
+void copyShape(struct shapeSt *localSh);
+void drawNextShape();
+void cleanupFld();
+
+#endif
diff --git a/include/tet_conf.h b/include/tet_conf.h
new file mode 100644
index 0000000..4896a56
--- /dev/null
+++ b/include/tet_conf.h
@@ -0,0 +1,83 @@
+#define windowName_conf "SFML" // Window name
+#define uiColor1 sfColor_fromRGB(0, 0, 0) // Field background
+#define uiColor2 sfColor_fromRGB(80, 80, 80) // Field inactive cell outline
+#define uiColor3 sfColor_fromRGB(0, 0, 0) // Field active cell outline
+#define tOrange sfColor_fromRGB(255, 130, 0) // Orange color of L shape
+#define tBlue sfColor_fromRGB(0, 0, 255)
+#define tGreen sfColor_fromRGB(0, 255, 0)
+#define tRed sfColor_fromRGB(255, 0, 0)
+#define tYellow sfColor_fromRGB(255, 255, 0)
+#define tCyan sfColor_fromRGB(0, 255, 255)
+#define tMagneta sfColor_fromRGB(192, 0, 255)
+#define moveRepeatLatency1 150000 // microseconds, only for left-right arrows,
+ // first repeat move when long push
+#define moveRepeatLatency2 30000 // microseconds, for Left, Right and Down
+ // arrows, the rest repeat move when long push
+
+
+/*
+ * 19..........
+ * 18..........
+ * 17..........
+ * 16..........
+ * 15..........
+ * 14..........
+ * 13..........
+ * 12..........
+ * 11..........
+ * 10..........
+ * 9..........
+ * 8..........
+ * 7..........
+ * 6..........
+ * 5.......#..
+ * 4......##..
+ * 3......#...
+ * 2.#.##.....
+ * 1.##.#..#..
+ * 0..#.#.###.
+ * 0123456789
+ *
+ * L
+ * ..#. .#.. .... ##..
+ * ###. .#.. ###. .#..
+ * .... .##. #... .#..
+ * .... .... .... ....
+ *
+ * RL
+ * #... .##. .... .#..
+ * ###. .#.. ###. .#..
+ * .... .#.. ..#. ##..
+ * .... .... .... ....
+ *
+ * Z
+ * ##.. ..#. .... .#..
+ * .##. .##. ##.. ##..
+ * .... .#.. .##. #...
+ * .... .... .... ....
+ *
+ * S
+ * .##. .#.. .... #...
+ * ##.. .##. .##. ##..
+ * .... ..#. ##.. .#..
+ * .... .... .... ....
+ *
+ * Brick
+ * ##.. ##.. ##.. ##..
+ * ##.. ##.. ##.. ##..
+ * .... .... .... ....
+ * .... .... .... ....
+ *
+ * I
+ * .#.. .... .#.. ....
+ * .#.. #### .#.. ####
+ * .#.. .... .#.. ....
+ * .#.. .... .#.. ....
+ *
+ * T
+ * .#.. .#.. .... .#..
+ * ###. .##. ###. ##..
+ * .... .#.. .#.. .#..
+ * .... .... .... ....
+ */
+