From abe78bde6db9f396225199d110d64d97b29c6d51 Mon Sep 17 00:00:00 2001 From: Oxore Date: Sun, 3 Dec 2017 11:25:59 +0300 Subject: Change color scheme; add screenshots --- README.md | 4 ++++ dat/texts.yaml | 9 +++++++++ include/tet_conf.h | 20 +++++++++---------- src/functions.c | 58 ++++++++++++++++++++++-------------------------------- src/main.c | 2 +- 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 @@ -17,6 +17,15 @@ x: 270 y: 44 +- + type: "" + scene: "game" + text: "Next Shape: " + font: "Arial" + size: 20 + x: 270 + y: 80 + - type: scene: "menu" 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 { -- cgit v1.2.3