From 630fcf3e21abf4af36c1f950854858158e114857 Mon Sep 17 00:00:00 2001 From: Jason Bou-Samra <154414066+bou-samra@users.noreply.github.com> Date: Fri, 16 Aug 2024 20:37:39 +1000 Subject: [PATCH] Update events.c --- src/events.c | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/src/events.c b/src/events.c index 3a69b57..4f73419 100644 --- a/src/events.c +++ b/src/events.c @@ -7,15 +7,11 @@ #include "sdl.h" extern int tile_pos; -//extern Ren_game (); - -//extern int render (); bool next_p = false; // next piece flag bool restart = false; // restart flag bool pause_f = false; bool quit = false; // quit flag -bool main_m = false; int handle_events () { @@ -24,7 +20,6 @@ int handle_events () { while (restart == false) { Ren_game (); SDL_PollEvent (&event); -//SDL_Delay(40); switch (event.type) { case SDL_KEYDOWN: if(event.key.keysym.sym == SDLK_c @@ -34,64 +29,68 @@ int handle_events () { backdrop(colour); break; } // gradient colour cycle + + if( event.key.keysym.sym == SDLK_x + && (event.key.keysym.mod & KMOD_CTRL) != 0 ) { + break; + } // invert gradient if (event.key.keysym.sym == SDLK_LEFT) { if (col == 0) {break;} grid[0][row + 1][col] = 0; grid[0][row + 0][col] = 0; + grid[0][row + 2][col] = 0; grid[0][row - 1][col] = 0; col--; + disp_column (row, col); break; } // left arrow if (event.key.keysym.sym == SDLK_RIGHT) { if (col == 7) {break;} - grid[0][row + 1][col] = 0; - grid[0][row + 0][col] = 0; - grid[0][row - 1][col] = 0; + grid[0][row + 1][col] = 0; + grid[0][row + 0][col] = 0; + grid[0][row + 2][col] = 0; + grid[0][row - 1][col] = 0; col++; + disp_column (row, col); break; } // right arrow if (event.key.keysym.sym == SDLK_n) { - printf("next brick preview\n"); next_p = !next_p; break; } // next piece (brick/block) preview if( event.key.keysym.sym == SDLK_r && (event.key.keysym.mod & KMOD_CTRL) != 0 ) { - printf("restart\n"); restart = true; break; } // restart - if (event.key.keysym.sym == SDLK_r) { - printf("rotate\n"); + if(event.key.keysym.sym == SDLK_r + && (event.key.keysym.mod & KMOD_SHIFT) != 0 ) { + rotate_col(); + disp_column (row, col); break; } // rotate tiles if (event.key.keysym.sym == SDLK_SPACE) { - printf("drop/fall\n"); break; } // drop/fall block/piece/brick if( event.key.keysym.sym == SDLK_s && (event.key.keysym.mod & KMOD_CTRL) != 0 ) { - printf("change tile pattern\n"); break; } // change tile design/pattern if (event.key.keysym.sym == SDLK_p) { if (pause_f == false){ - printf("pause\n"); pause_f = 1; } else { - printf("unpause\n"); pause_f = 0; } -// check_key(); break; } // pause }