Skip to content

Instantly share code, notes, and snippets.

@caitfriedlander
Created October 14, 2016 16:08
Show Gist options
  • Select an option

  • Save caitfriedlander/83d0caba88cc307272b72e171f30b3a8 to your computer and use it in GitHub Desktop.

Select an option

Save caitfriedlander/83d0caba88cc307272b72e171f30b3a8 to your computer and use it in GitHub Desktop.
A Gist of the most challenging code from SNAKE!
//CHECK SNAKE BODY FOR MATCHES WITH SNAKE HEAD
function checkSnake () {
for (var i = 1; i<snake.length; i++) {
if (_.isEqual(snake[0], snake[i])) {
return true;
console.log("totally f'ed")
}
}
return false;
}
//SNAKE GROW FUNCTION
function growSnake () {
snake.unshift(apple);
clearApple();
var row = apple[0];
var column = apple[1];
var currentApple = (37 * row + column);
$('.space').eq(currentApple).css("background-color","green");
generateApple();
growScore();
}
//SNAKE MOVE FUNCTION
function moveSnake () {
snake.unshift(newHead);
snake.pop();
fillSnake();
fillApple();
}
//SNAKE ANIMATION
function animationStart () {
int = setInterval( function() {
if(!isPaused) {
var snakeHead = snake[0];
if (snake.direction === "left") {
newHead = [snakeHead[0], snakeHead[1]-1]
if (newHead[0] === apple[0] && newHead[1] === apple[1]) {
growSnake();
} else if (newHead[1] < 0) {
lost = true;
youLose();
} else {
moveSnake();
}
if (checkSnake()) {
lost = true;
youLose();
}
}
if (snake.direction === "up") {
newHead = [snakeHead[0]-1, snakeHead[1]];
if (newHead[0] === apple[0] && newHead[1] === apple[1]) {
growSnake();
} else if (newHead[0] < 0) {
lost = true;
youLose();
} else if (checkSnake()) {
lost = true;
youLose();
} else {
moveSnake();
}
}
if (snake.direction === "right") {
newHead = [snakeHead[0], snakeHead[1]+1];
if (newHead[0] === apple[0] && newHead[1] === apple[1]) {
growSnake();
} else if (newHead[1] > 36) {
lost = true;
youLose();
} else if (checkSnake()) {
lost = true;
youLose();
} else {
moveSnake();
}
}
if (snake.direction === "down") {
newHead = [snakeHead[0]+1, snakeHead[1]];
if (newHead[0] === apple[0] && newHead[1] === apple[1]) {
growSnake();
} else if (newHead[0] > 36) {
lost = true;
youLose();
} else if (checkSnake()) {
lost = true;
youLose();
} else {
moveSnake()
}
}
}
},snakeSpeed);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment