Update events.c

This commit is contained in:
Jason Bou-Samra
2024-08-16 20:37:39 +10:00
committed by GitHub
parent 5473f2ca0a
commit 630fcf3e21
+16 -17
View File
@@ -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
}