diff options
| author | 2019-10-23 20:25:32 -0400 | |
|---|---|---|
| committer | 2019-10-23 20:25:32 -0400 | |
| commit | 5d3dc77bd128d44b62103dc4e55722eba02dd3df (patch) | |
| tree | 52adcf70ce835544df8d2419b74cea9ab6411b80 /frontends | |
| parent | 6fa5bc504edfa4299b0b5d46d299cb5741654243 (diff) | |
| download | cetris-5d3dc77bd128d44b62103dc4e55722eba02dd3df.tar.gz cetris-5d3dc77bd128d44b62103dc4e55722eba02dd3df.tar.bz2 cetris-5d3dc77bd128d44b62103dc4e55722eba02dd3df.zip | |
srs table into signed ints
Diffstat (limited to 'frontends')
| -rw-r--r-- | frontends/curses/curses_ui.c | 64 |
1 files changed, 31 insertions, 33 deletions
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();
|