From 303099bbcaa223ff3f5946295e2d814d40fec324 Mon Sep 17 00:00:00 2001 From: Kai Stevenson Date: Sun, 5 Mar 2023 00:52:05 -0800 Subject: fixed the implementation of q to abort --- src/snake.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/snake.c') diff --git a/src/snake.c b/src/snake.c index 7f9a32a..f40e341 100644 --- a/src/snake.c +++ b/src/snake.c @@ -175,11 +175,10 @@ int main(int argc, char **argv) { time.tv_nsec = round((float)updateInterval / ((float)speed / 3)); nanosleep(&time, NULL); /* read the most recent value emitted by the listener */ + if(*(char*)lastInput == 'q') { + goto EXIT; + } vector_t dir = parse_dir(*(char*)lastInput); - - if (dir.mx == -2) { - goto EXIT; - } /* if the player inputted a valid direction, use it. otherwise, use his last valid input */ if((dir.mx != 0 || dir.my != 0) && !(dir.mx == 1 && lastMoveDir.mx == -1) && !(dir.mx == -1 && lastMoveDir.mx == 1) && !(dir.my == 1 && lastMoveDir.my == -1) && !(dir.my == -1 && lastMoveDir.my == 1)) { lastMoveDir = dir; @@ -260,9 +259,7 @@ vector_t parse_dir(char cDir) { } else if(cDir == 'a' || cDir == 'h') { return init_vector(-1, 0); - } else if (cDir == 'q') { - return init_vector(-2, -2); - } + } else { return init_vector(0, 0); } -- cgit v1.3.1