diff --git a/index.html b/index.html index 0eb4389..c9297d7 100644 --- a/index.html +++ b/index.html @@ -30,7 +30,8 @@

Snake

-

Bottom Text

+

Snake Head Location:

+

Food Location:

View Code diff --git a/src/snake.ts b/src/snake.ts index 529befe..8e51e36 100644 --- a/src/snake.ts +++ b/src/snake.ts @@ -55,6 +55,7 @@ class SnakeCore { height: number; board: number[][]; body: Point[]; + food: Point; gameover: boolean; foodAte: boolean; @@ -63,13 +64,14 @@ class SnakeCore { this.canvas = document.getElementById('snake') as HTMLCanvasElement; this.context = this.canvas.getContext('2d') as CanvasRenderingContext2D; this.grid = 25; // size of grid squares - this.timeout = 100; // speed in ms + this.timeout = 20; // speed in ms this.width = 25; this.height = 15; this.board = []; for (let i = 0; i < this.height; i++) this.board.push(new Array(this.width)); this.body = []; + this.food = new Point(); this.gameover = false; this.foodAte = true; this.body.push(new Point(12, 8)); @@ -112,6 +114,7 @@ class SnakeCore { if (isBitSet(this.board[tmp.y][tmp.x], BoardState.SNAKE)) continue; this.board[tmp.y][tmp.x] = bitSet(this.board[tmp.y][tmp.x], BoardState.FOOD); + this.food.copy(tmp); return; } } @@ -161,6 +164,12 @@ class SnakeCore { } } } + + // Update text on page to match game + updatePageText() { + document.getElementById("snakeHead").innerHTML = "x: " + this.body[this.body.length - 1].x + " y: " + this.body[this.body.length - 1].y; + document.getElementById("snakeFood").innerHTML = "x: " + this.food.x + " y: " + this.food.y ; + } } class Bot { @@ -280,6 +289,7 @@ function snakeloop() { g_snake.foodRegen(); g_snake.draw(); + g_snake.updatePageText(); } // start the game