From 5d3dc77bd128d44b62103dc4e55722eba02dd3df Mon Sep 17 00:00:00 2001 From: Andrew Opalach Date: Wed, 23 Oct 2019 20:25:32 -0400 Subject: srs table into signed ints --- frontends/curses/curses_ui.c | 64 +++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 33 deletions(-) (limited to 'frontends') diff --git a/frontends/curses/curses_ui.c b/frontends/curses/curses_ui.c index 9b458dc..a5d6aca 100644 --- a/frontends/curses/curses_ui.c +++ b/frontends/curses/curses_ui.c @@ -197,40 +197,38 @@ int main(void) { pthread_create(&thread, NULL, (void*)game_loop, (void*)0); #endif + int c; while(1) { - int keys[25]; int key_count = 0; - while((keys[key_count] = getch()) != ERR) key_count++; - for (int i = 0; i < key_count; i++) { - switch (keys[i]) { - case 'q': endwin(); exit(1); - case 27: // esc or alt - is_paused = !is_paused; break; - case 'r': - if (game.game_over) { - init_game(&game); - } - break; - } - if (is_paused) continue; // dont allow input if paused - switch (keys[i]) { - case KEY_LEFT: - move_piece(&game, LEFT); break; - case KEY_RIGHT: - move_piece(&game, RIGHT); break; - case KEY_DOWN: - move_piece(&game, USER_DOWN); break; - case KEY_UP: - case 'x': - move_piece(&game, ROTATE_CW); break; - case '^': - case 'z': - move_piece(&game, ROTATE_CCW); break; - case ' ': - move_piece(&game, HARD_DROP); break; - case KEY_SLEFT: - case 'c': - hold_piece(&game); break; - } + c = getch(); + switch (c) { + case 'q': endwin(); exit(1); + case 27: // esc or alt + is_paused = !is_paused; break; + case 'r': + if (game.game_over) { + init_game(&game); + } + break; + } + if (is_paused) continue; // dont allow input if paused + switch (c) { + case KEY_LEFT: + move_piece(&game, LEFT); break; + case KEY_RIGHT: + move_piece(&game, RIGHT); break; + case KEY_DOWN: + move_piece(&game, USER_DOWN); break; + case KEY_UP: + case 'x': + move_piece(&game, ROTATE_CW); break; + case '^': + case 'z': + move_piece(&game, ROTATE_CCW); break; + case ' ': + move_piece(&game, HARD_DROP); break; + case KEY_SLEFT: + case 'c': + hold_piece(&game); break; } erase(); draw_board(); -- cgit v1.2.3-101-g0448