prevented crash
This commit is contained in:
@@ -101,6 +101,28 @@ function dontMoveBackwards(lastSnakeX, lastSnakeY, currentSnakeX, currentSnakeY,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function restartGame(){
|
||||||
|
|
||||||
|
for (let i = 0; i < grid.length; i++) {
|
||||||
|
for (let j = 0; j < grid[0].length; j++) {
|
||||||
|
|
||||||
|
if (grid[i][j] == 2 || grid[i][j] == 1) {
|
||||||
|
grid[i][j] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
snake = [];
|
||||||
|
|
||||||
|
summonSnake();
|
||||||
|
|
||||||
|
for (let i = 0; i < appleAmount; i++) {
|
||||||
|
summonApple();
|
||||||
|
}
|
||||||
|
|
||||||
|
alive = true;
|
||||||
|
}
|
||||||
|
|
||||||
function runSnake(){
|
function runSnake(){
|
||||||
let x = snake[0][0];
|
let x = snake[0][0];
|
||||||
let y = snake[0][1];
|
let y = snake[0][1];
|
||||||
@@ -156,9 +178,23 @@ function drawSnakeOnGrid(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (let i = 0; i < snake.length; i++) {
|
for (let i = 0; i < snake.length; i++) {
|
||||||
|
|
||||||
let x = snake[i][0];
|
let x = snake[i][0];
|
||||||
let y = snake[i][1];
|
let y = snake[i][1];
|
||||||
|
|
||||||
|
// prevent crash
|
||||||
|
if (
|
||||||
|
x < 0 ||
|
||||||
|
y < 0 ||
|
||||||
|
x >= grid.length ||
|
||||||
|
y >= grid[0].length
|
||||||
|
){
|
||||||
|
alive = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
grid[x][y] = 2;
|
grid[x][y] = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -180,24 +216,36 @@ function drawGrid() {
|
|||||||
|
|
||||||
function draw() {
|
function draw() {
|
||||||
background(255);
|
background(255);
|
||||||
if (alive = false){
|
|
||||||
|
if (alive == false){
|
||||||
|
restartGame();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
runSnake();
|
runSnake();
|
||||||
drawGrid();
|
drawGrid();
|
||||||
|
|
||||||
fill(0, 0, 0);
|
fill(0, 0, 0);
|
||||||
textSize(_textSize);
|
textSize(_textSize);
|
||||||
|
|
||||||
text("₴ " + eatenApples, gridColumns * gridSize + gridSize + _textSize*3, _textSize * 1);
|
text("₴ " + eatenApples, gridColumns * gridSize + gridSize + _textSize*3, _textSize * 1);
|
||||||
text("Apples: " + appleAmount, gridColumns * gridSize + gridSize, _textSize * 2);
|
text("Apples: " + appleAmount, gridColumns * gridSize + gridSize, _textSize * 2);
|
||||||
|
|
||||||
buttonAddMoreApples.html("Add more apples ₴ " + AddMoreApplesPrice);
|
buttonAddMoreApples.html("Add more apples ₴ " + AddMoreApplesPrice);
|
||||||
buttonAddMoreApples.position(gridColumns * gridSize + gridSize + _textSize*6, _textSize * 1.5);
|
buttonAddMoreApples.position(gridColumns * gridSize + gridSize + _textSize*6, _textSize * 1.5);
|
||||||
|
|
||||||
text("AI: " + AItype, gridColumns * gridSize + gridSize, _textSize * 3);
|
text("AI: " + AItype, gridColumns * gridSize + gridSize, _textSize * 3);
|
||||||
|
|
||||||
buttonUpgradeAI.html("Upgrade AI ₴ " + UpgradeAIPrice);
|
buttonUpgradeAI.html("Upgrade AI ₴ " + UpgradeAIPrice);
|
||||||
buttonUpgradeAI.position(gridColumns * gridSize + gridSize + _textSize*6, _textSize * 2.5);
|
buttonUpgradeAI.position(gridColumns * gridSize + gridSize + _textSize*6, _textSize * 2.5);
|
||||||
|
|
||||||
text("Coloums: " + gridColumns, gridColumns * gridSize + gridSize, _textSize * 4);
|
text("Coloums: " + gridColumns, gridColumns * gridSize + gridSize, _textSize * 4);
|
||||||
|
|
||||||
buttonAddColoums.html("Add coloums ₴ " + AddColoumsPrice);
|
buttonAddColoums.html("Add coloums ₴ " + AddColoumsPrice);
|
||||||
buttonAddColoums.position(gridColumns * gridSize + gridSize + _textSize*6, _textSize * 3.5);
|
buttonAddColoums.position(gridColumns * gridSize + gridSize + _textSize*6, _textSize * 3.5);
|
||||||
|
|
||||||
text("Rows: " + gridRows, gridColumns * gridSize + gridSize, _textSize * 5);
|
text("Rows: " + gridRows, gridColumns * gridSize + gridSize, _textSize * 5);
|
||||||
|
|
||||||
buttonAddRows.html("Add rows ₴ " + AddRowsPrice);
|
buttonAddRows.html("Add rows ₴ " + AddRowsPrice);
|
||||||
buttonAddRows.position(gridColumns * gridSize + gridSize + _textSize*6, _textSize * 4.5);
|
buttonAddRows.position(gridColumns * gridSize + gridSize + _textSize*6, _textSize * 4.5);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user