summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOxore <oxore@protonmail.com>2017-12-03 11:25:59 +0300
committerOxore <oxore@protonmail.com>2017-12-03 11:25:59 +0300
commitabe78bde6db9f396225199d110d64d97b29c6d51 (patch)
treeb766f80ea8aba3a3022c56f990b3000836b3baee
parentd9a557766998eb4dd1d22010b23911ec97c31b14 (diff)
Change color scheme; add screenshots
-rw-r--r--README.md4
-rw-r--r--dat/texts.yaml9
-rw-r--r--include/tet_conf.h20
-rw-r--r--src/functions.c58
-rw-r--r--src/main.c2
5 files changed, 47 insertions, 46 deletions
diff --git a/README.md b/README.md
index 302cf6b..41dc2ae 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,10 @@
This is unfinished tetris project written in pure C with CSFML library. It is under development.
+[Main menu](https://i.imgur.com/kOKz2Qk.png "Main menu")
+
+[In game](https://i.imgur.com/14aWf49.png "In game")
+
__Dependencies__
`SFML`
diff --git a/dat/texts.yaml b/dat/texts.yaml
index 1086999..5c35142 100644
--- a/dat/texts.yaml
+++ b/dat/texts.yaml
@@ -18,6 +18,15 @@
y: 44
-
+ type: ""
+ scene: "game"
+ text: "Next Shape: "
+ font: "Arial"
+ size: 20
+ x: 270
+ y: 80
+
+-
type:
scene: "menu"
text: "TETRIS"
diff --git a/include/tet_conf.h b/include/tet_conf.h
index 7b0574c..4bf0236 100644
--- a/include/tet_conf.h
+++ b/include/tet_conf.h
@@ -1,14 +1,14 @@
#define windowName_conf "Tetris CSFML" // 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 UIBGCOLOR sfColor_fromRGB(26, 26, 26) // Field background
+#define UIFGINACTIVECOLOR sfColor_fromRGB(55, 59, 65) // Field inactive cell outline
+#define UIFGACTIVECOLOR sfColor_fromRGB(40, 42, 46) // Field active cell outline
+#define LCOLOR sfColor_fromRGB(222, 147, 95) // Orange color of L shape
+#define RLCOLOR sfColor_fromRGB(95, 129, 157)
+#define SCOLOR sfColor_fromRGB(140, 148, 64)
+#define ZCOLOR sfColor_fromRGB(165, 66, 66)
+#define BCOLOR sfColor_fromRGB(197, 200, 198)
+#define ICOLOR sfColor_fromRGB(94, 141, 135)
+#define TCOLOR sfColor_fromRGB(133, 103, 143)
#define moveRepeatLatency1 150000 // microseconds, only for left-right arrows,
// first repeat move when long push
#define moveRepeatLatency2 30000 // microseconds, for Left, Right and Down
diff --git a/src/functions.c b/src/functions.c
index a573266..69df0f0 100644
--- a/src/functions.c
+++ b/src/functions.c
@@ -57,10 +57,10 @@ void initFld()
fldCPos[j][i].x = fld.pos.x + (i * (fld.cSize.x + 2 * fld.cOutThick));
fldCPos[j][i].y = fld.pos.y - (j * (fld.cSize.y + 2 * fld.cOutThick));
fld.p[j][i] = sfRectangleShape_create();
- sfRectangleShape_setFillColor(fld.p[j][i], uiColor1);
+ sfRectangleShape_setFillColor(fld.p[j][i], UIBGCOLOR);
sfRectangleShape_setSize(fld.p[j][i], fld.cSize);
sfRectangleShape_setPosition(fld.p[j][i], fldCPos[j][i]);
- sfRectangleShape_setOutlineColor(fld.p[j][i], uiColor3);
+ sfRectangleShape_setOutlineColor(fld.p[j][i], UIFGACTIVECOLOR);
sfRectangleShape_setOutlineThickness(fld.p[j][i], fld.cOutThick);
}
}
@@ -121,7 +121,7 @@ int linesRmScore()
if (n == 19) {
for (int m = 0; m < 10; m++) {
fld.c[n][m].a = 0;
- fld.c[n][m].fColor = uiColor1;
+ fld.c[n][m].fColor = UIBGCOLOR;
}
break;
}
@@ -464,10 +464,10 @@ void colorizeFld()
for (int i = 0; i < fld.size.x; i++)
if (fld.c[j][i].a) {
sfRectangleShape_setFillColor(fld.p[j][i], fld.c[j][i].fColor);
- sfRectangleShape_setOutlineColor(fld.p[j][i], uiColor3);
+ sfRectangleShape_setOutlineColor(fld.p[j][i], UIFGACTIVECOLOR);
} else {
- sfRectangleShape_setFillColor(fld.p[j][i], uiColor1);
- sfRectangleShape_setOutlineColor(fld.p[j][i], uiColor2);
+ sfRectangleShape_setFillColor(fld.p[j][i], UIBGCOLOR);
+ sfRectangleShape_setOutlineColor(fld.p[j][i], UIFGINACTIVECOLOR);
}
}
@@ -486,7 +486,7 @@ void colorizeActive()
active.fColor);
sfRectangleShape_setOutlineColor(
fld.p[j+active.y][i+active.x],
- uiColor3);
+ UIFGACTIVECOLOR);
}
}
@@ -511,28 +511,28 @@ void colorizeRandom(Field *fld)
a = rand()%7+1;
switch (a) {
case 1 :
- sfRectangleShape_setFillColor(fld->p[j][i], tOrange);
+ sfRectangleShape_setFillColor(fld->p[j][i], LCOLOR);
break;
case 2 :
- sfRectangleShape_setFillColor(fld->p[j][i], tBlue);
+ sfRectangleShape_setFillColor(fld->p[j][i], RLCOLOR);
break;
case 3 :
- sfRectangleShape_setFillColor(fld->p[j][i], tRed);
+ sfRectangleShape_setFillColor(fld->p[j][i], ZCOLOR);
break;
case 4 :
- sfRectangleShape_setFillColor(fld->p[j][i], tGreen);
+ sfRectangleShape_setFillColor(fld->p[j][i], SCOLOR);
break;
case 5 :
- sfRectangleShape_setFillColor(fld->p[j][i], tYellow);
+ sfRectangleShape_setFillColor(fld->p[j][i], BCOLOR);
break;
case 6 :
- sfRectangleShape_setFillColor(fld->p[j][i], tCyan);
+ sfRectangleShape_setFillColor(fld->p[j][i], ICOLOR);
break;
case 7 :
- sfRectangleShape_setFillColor(fld->p[j][i], tMagneta);
+ sfRectangleShape_setFillColor(fld->p[j][i], TCOLOR);
break;
}
- sfRectangleShape_setOutlineColor(fld->p[j][i], uiColor3);
+ sfRectangleShape_setOutlineColor(fld->p[j][i], UIFGACTIVECOLOR);
}
}
}
@@ -563,31 +563,31 @@ void copyShape(Shape *localSh)
switch (localSh->t) { // Copy cell active/inactive state
case 1 :
memcpy(&localSh->c[0][0], &arrShapeL[0][0], sizeof(char)*4*4);
- localSh->fColor = tOrange;
+ localSh->fColor = LCOLOR;
break;
case 2 :
memcpy(&localSh->c[0][0], &arrShapeRL[0][0], sizeof(char)*4*4);
- localSh->fColor = tBlue;
+ localSh->fColor = RLCOLOR;
break;
case 3 :
memcpy(&localSh->c[0][0], &arrShapeZ[0][0], sizeof(char)*4*4);
- localSh->fColor = tRed;
+ localSh->fColor = ZCOLOR;
break;
case 4 :
memcpy(&localSh->c[0][0], &arrShapeS[0][0], sizeof(char)*4*4);
- localSh->fColor = tGreen;
+ localSh->fColor = SCOLOR;
break;
case 5 :
memcpy(&localSh->c[0][0], &arrShapeB[0][0], sizeof(char)*4*4);
- localSh->fColor = tYellow;
+ localSh->fColor = BCOLOR;
break;
case 6 :
memcpy(&localSh->c[0][0], &arrShapeI[0][0], sizeof(char)*4*4);
- localSh->fColor = tCyan;
+ localSh->fColor = ICOLOR;
break;
case 7 :
memcpy(&localSh->c[0][0], &arrShapeT[0][0], sizeof(char)*4*4);
- localSh->fColor = tMagneta;
+ localSh->fColor = TCOLOR;
break;
}
}
@@ -595,23 +595,11 @@ void copyShape(Shape *localSh)
void drawNextShape(sfRenderWindow *window)
{
- static sfText *textNextShape;
- if (!textNextShape) {
- sfVector2f textNextShapePos;
- textNextShapePos.x = 250+10+10;
- textNextShapePos.y = 80;
- textNextShape = sfText_create();
- sfText_setString(textNextShape, "Next Shape: ");
- sfText_setFont(textNextShape, fontScore);
- sfText_setCharacterSize(textNextShape, 20);
- sfText_setPosition(textNextShape, textNextShapePos);
- }
- sfRenderWindow_drawText(window, textNextShape, NULL);
for (int j = 0; j < 4; j++)
for (int i = 0; i < 4; i++)
if (next.c[j][i]) {
sfRectangleShape_setFillColor(next.p[j][i], next.fColor);
- sfRectangleShape_setOutlineColor(next.p[j][i], uiColor3);
+ sfRectangleShape_setOutlineColor(next.p[j][i], UIFGACTIVECOLOR);
sfRenderWindow_drawRectangleShape(window, next.p[j][i], NULL);
}
}
diff --git a/src/main.c b/src/main.c
index 0677e11..7608cb1 100644
--- a/src/main.c
+++ b/src/main.c
@@ -112,7 +112,7 @@ void menuLoop() {
void mainLoop() {
while (sfRenderWindow_isOpen(w.window)) {
handleWindowEvents();
- sfRenderWindow_clear(w.window, sfBlack);
+ sfRenderWindow_clear(w.window, UIBGCOLOR);
if (game.isStarted) {
gameLoop();
} else {