From cd2650182ce710ae7fdfae2c68b91c417d54bc60 Mon Sep 17 00:00:00 2001 From: Oxore Date: Tue, 20 Jun 2017 21:01:53 +0700 Subject: Major refactoring! --- src/main.c | 71 +++++++++++++++++--------------------------------------------- 1 file changed, 19 insertions(+), 52 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index b0dadf9..b453b5b 100644 --- a/src/main.c +++ b/src/main.c @@ -1,4 +1,5 @@ #include "include/common.h" +#include "include/functions.h" /* --- Variables --- */ int gameIsStarted = 0; @@ -6,20 +7,19 @@ sfVideoMode mode = {450, 520, 32}; sfRenderWindow* window; sfEvent event; sfText* textScore; -sfFont* font; +sfFont* font; char *scoreDisp; sfRectangleShape* fld[20][10];// Array of fld rectangles -sfVector2f fld_rPos[20][10]; // Array of absolute coordinates of fld +sfVector2f fldCPos[20][10]; // Array of absolute coordinates of fld // rectangles -int fld_rOutThick = 1; // Field rectangles outline thickness -sfVector2f fld_rSize; // Field rectangles size variable x/y -sfVector2i actiShPos; // Offset active shape relative to fld +int fldCOutThick = 1; // Field rectangles outline thickness +sfVector2f fldCSize; // Field rectangles size variable x/y sfVector2i fldSize, fldPos; sfVector2f textScore_pos; -short arrKeys = 0b00000000; // Arrow keys states byte container +uint8_t arrKeys = 0b00000000; // Arrow keys states byte container int lvlLatency = 500000; int scoreCurrent = 0; @@ -39,6 +39,9 @@ int main() if (!window) return EXIT_FAILURE; + /* colorize field once at start */ + colorizeRandom(); + /* Start the game loop */ while (sfRenderWindow_isOpen(window)) { @@ -56,50 +59,15 @@ int main() tTick(); tKeyCtrl(); scoreDisplay(scoreCurrent, textScore); - - /* Colorize active cells of fld */ - for(int j=0;j<20;j++){ - for(int i=0;i<10;i++){ - sfRectangleShape_setFillColor( - fld[j][i], - fld_rAttr[j][i].fColor); - sfRectangleShape_setOutlineColor( - fld[j][i], - fld_rAttr[j][i].oColor); - } - } - - - /* - * Colorize active cells of active shape (overlay only - * active cells above background of fld) - * - */ - for(int j=0;j<4;j++){ - for(int i=0;i<4;i++){ - if (activeShape[j][i].a != 0){ - sfRectangleShape_setFillColor( - fld[j - +actiShPos.y] - [i+actiShPos.x], - activeShape[j][i].fColor - ); - sfRectangleShape_setOutlineColor( - fld[j - +actiShPos.y] - [i+actiShPos.x], - activeShape[j][i].oColor - ); - } - } - } + colorizeFld(); + colorizeActiSh(); /* * Draw all fld cells * */ - for (int j=0;j