I am not able to understand withinBoundary () function in Snake game. Can you please explain it?
Code:
var numberofsegments = 20;
var segmentSize = 20;
var snakeheadX = 0;
var snakeheadY = 0;
var velocityX =0;
var velocityY = 0;
var taillength = 3
var tailarray = []
function setup() {
createCanvas(400, 400);
snakeheadX = numberofsegments/2;
snakeheadY = numberofsegments/2;
frameRate(10)
}
function draw() {
background(220);
// cut extra tail
while(tailarray.length > taillength)
{
tailarray.shift()
}
// do traw tail
tailarray.push({x:snakeheadX, y:snakeheadY})
for(let i=0; i<tailarray.length; i++)
{
rect(tailarray[i].x*segmentSize,
tailarray[i].y*segmentSize,
segmentSize,
segmentSize)
}
snakeheadX = snakeheadX+velocityX
snakeheadY = snakeheadY+velocityY
withinBoundary();
rect(snakeheadX*segmentSize,snakeheadY*segmentSize,segmentSize,segmentSize);
}
function keyPressed()
{
if(keyCode == UP_ARROW)
{
velocityX = 0;
velocityY = -1;
}
if(keyCode == DOWN_ARROW)
{
velocityX = 0;
velocityY = 1;
}
if(keyCode == RIGHT_ARROW)
{
velocityX = 1;
velocityY = 0;
}
if(keyCode == LEFT_ARROW)
{
velocityX = -1;
velocityY = 0;
}
}
function withinBoundary()
{
if(snakeheadX < 0)
{
snakeheadX = numberofsegments - 1
}
if(snakeheadX > numberofsegments - 1)
{
snakeheadX = 0
}
if(snakeheadY < 0)
{
snakeheadY = numberofsegments - 1
}
if(snakeheadY > numberofsegments - 1)
{
snakeheadY = 0
}
}