diff options
| author | preston <preston@openbsd-preston.prestonpan.tech> | 2023-03-05 00:44:46 -0800 |
|---|---|---|
| committer | preston <preston@openbsd-preston.prestonpan.tech> | 2023-03-05 00:44:46 -0800 |
| commit | cfcdffe92b7248b3982f53b2c14b67d94a42b210 (patch) | |
| tree | e4c659b86890d82a6303b2f61fcbadccaf061883 | |
| parent | 56bab06f7ba8a853eedfbf9c07d97a340efc2824 (diff) | |
add q command
| -rw-r--r-- | src/leaderboard.c | 1 | ||||
| -rw-r--r-- | src/snake.c | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/leaderboard.c b/src/leaderboard.c index 755cff7..8ebb412 100644 --- a/src/leaderboard.c +++ b/src/leaderboard.c @@ -4,6 +4,7 @@ #include <sys/file.h> #include <string.h> #include "leaderboard.h" + leaderScore_t init_leaderscore(char* name, unsigned long int score) { leaderscore_t score; score.name = name; diff --git a/src/snake.c b/src/snake.c index 577c832..7f9a32a 100644 --- a/src/snake.c +++ b/src/snake.c @@ -176,6 +176,10 @@ int main(int argc, char **argv) { nanosleep(&time, NULL); /* read the most recent value emitted by the listener */ 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; @@ -256,7 +260,9 @@ 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); } |
