Collision works inconsistently, trying to make it work every time. The code below is referencing the colour collision that's used to check if the snake is hitting itself. There are other functions in use as well but I believe this is where the problem is occuring.
function snakeCollide() {
checkColour = ctx.getImageData(rx, ry, 1, 1).data;
if (rdx > 0) {
checkColour = ctx.getImageData(rx + rw + 1, ry + rh / 2, 1, 1).data;
} else if (rdx < 0) {
checkColour = ctx.getImageData(rx - 1, ry + rh / 2, 1, 1).data;
} else if (rdy > 0) {
checkColour = ctx.getImageData(rx + rw / 2, ry + rh + 1, 1, 1).data;
} else if (rdy < 0) {
checkColour = ctx.getImageData(rx + rw / 2, ry - 1, 1, 1).data;
}
else {
console.log("TEST")
}
}