From c4c02c167dcdca92319cbfbda47ce6f7f59ff092 Mon Sep 17 00:00:00 2001 From: Mahdi Dibaiee Date: Mon, 14 Dec 2015 21:25:07 +0330 Subject: [PATCH] fix(snake): should not be able to go in reverse direction - resolve #2 feat(snake): increase speed over time --- build/snake.js | 5 ++++- src/snake.js | 8 +++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/build/snake.js b/build/snake.js index 66b3794..60a7d74 100644 --- a/build/snake.js +++ b/build/snake.js @@ -57,7 +57,7 @@ function loop() { createPart(); score++; - FRAME--; + FRAME -= 5; } if (head.collides(snake.slice(2))) { @@ -103,6 +103,7 @@ ui.onKey(function () { }); function changeDirection(dir) { + if (head.direction === UP && dir === DOWN || head.direction === DOWN && dir === UP || head.direction === LEFT && dir === RIGHT || head.direction === RIGHT && dir === LEFT) return; head.direction = dir; } @@ -176,6 +177,8 @@ function gameover() { ui.cursor.goto(ui.center.x - RETRY.length / 2, ui.center.y + 2); ui.write(RETRY); + FRAME = 100; + stop = true; } diff --git a/src/snake.js b/src/snake.js index cd24aec..1226e8d 100644 --- a/src/snake.js +++ b/src/snake.js @@ -43,7 +43,7 @@ function loop() { createPart(); score++; - FRAME--; + FRAME -= 5; } if (head.collides(snake.slice(2))) { @@ -89,6 +89,10 @@ ui.onKey(() => { }) function changeDirection(dir) { + if (head.direction === UP && dir === DOWN || + head.direction === DOWN && dir === UP || + head.direction === LEFT && dir === RIGHT || + head.direction === RIGHT && dir === LEFT) return; head.direction = dir; } @@ -156,6 +160,8 @@ function gameover() { ui.cursor.goto(ui.center.x - RETRY.length / 2, ui.center.y + 2); ui.write(RETRY); + FRAME = 100; + stop = true; }