
The food (which is symbolized by the square red dot as show in the picture above is supposed to show up as well as the score , but neither of those two things show when I run my code. What do you think I am doing wrong:
Here is the link to my code:https://codepen.io/noblegas/pen/NWPKMGj
You can look at the drawFood function to see quickly no food shows.
function drawFood() {
ctx.fillStyle = "red";
ctx.strokestyle = "orange";
ctx.fillRect(foodX, foodY, 10, 10);
ctx.strokeRect(foodX, foodY, 10, 10);
}
When the above first runs (inside the main function), what are the values of foodX and foodY? Fix that issue and you should see something.
but I thought the values of foodX and foodY were already set in the createFood function:
@noblegas87 createFood
only gets called in two places (inside itself) and advanceSnake. However, advancedSnake is called after drawFood in your main function, so the values are not set. Also, the function would only get called in advanceSnake if didEatFood evaluates to true in the if statement. The problem is, didEatFood depends on foodX and FoodY again, so didEatFood will not be true.