Skip to content

Instantly share code, notes, and snippets.

@felhix
Created April 14, 2017 12:21
Show Gist options
  • Save felhix/b3e14c10ba4294eca67f9099cb3562ad to your computer and use it in GitHub Desktop.
Save felhix/b3e14c10ba4294eca67f9099cb3562ad to your computer and use it in GitHub Desktop.
function render() {
for (var i = 1; i <= 40; i ++ ) {
for (var j = 1; j <= 40; j++) {
$('#main-body').append('<div class="grid-element column-' + j + ' row-' + i + '" id="'+ j +'-'+ i +'"></div>');
}
}
var gridHeight = $('.grid-element').width();
$('.grid-element').css({'height':gridHeight+'px'});
abscissesHead = 20
snake = {
headPosition: [20,20],
direction: "right",
body: [[20,20],[19,20],[18,20]]
}
inGame = confirm("Bienvenue sur mon snake ! Pour bouger utiliser les flèches. Pas le droit de toucher les murs. Bonne chance ;)");
console.log(inGame)
}
function oneTurn() {
setTimeout(function(){
move();
console.log("on va checker snake.body[0] dehors : " + snake.body[0])
console.log("on va checker snake.body[1] : dehors" + snake.body[1])
if (inGame) { oneTurn() };
},
3000
);
}
function move() {
switch(snake.direction) {
case "right":
console.log("JUSTE AVANT LA BOUCLE // body[0] : " + snake.body[0] + " // body[1] : "+ snake.body[1] + " // body[2] : "+ snake.body[2] + " // headPo : " +snake.headPosition + " // headPo[0] : " + snake.headPosition[0])
for (var i = snake.body.length - 1; i >= 1 ; i --) {
console.log("ceci est i : " + i)
console.log("DÉBUT DE LA BOUCLE // body[0] : " + snake.body[0] + " // body[1] : "+ snake.body[1] + " // body[2] : "+ snake.body[2] + " // headPo : " +snake.headPosition + " // headPo[0] : " + snake.headPosition[0])
snake.body[i] = snake.body[i-1]
console.log("FIN DE LA BOUCLE // body[0] : " + snake.body[0] + " // body[1] : "+ snake.body[1] + " // body[2] : "+ snake.body[2] + " // headPo : " +snake.headPosition + " // headPo[0] : " + snake.headPosition[0])
}
console.log("APRÈS LA BOUCLE // body[0] : " + snake.body[0] + " // body[1] : "+ snake.body[1] + " // body[2] : "+ snake.body[2] + " // headPo : " +snake.headPosition + " // headPo[0] : " + snake.headPosition[0])
// snake.headPosition[0] = snake.headPosition[0] + 1;
console.log("APRÈS INCREM DE HEADPO // body[0] : " + snake.body[0] + " // body[1] : "+ snake.body[1] + " // body[2] : "+ snake.body[2] + " // headPo : " +snake.headPosition + " // headPo[0] : " + snake.headPosition[0])
console.log("AVANT BORDEL // [0][0] : " + snake.body[0][0] + " // [0][1] : " + snake.body[0][1] + " // [1][0] : " + snake.body[1][0] + " // [1][1] : " + snake.body[1][1])
snake.body[0][1] += 1;
// snake.body[1][0] -= 1;
console.log("CA DEVRAIT ETRE BON // body[0] : " + snake.body[0] + " // body[1] : "+ snake.body[1] + " // body[2] : "+ snake.body[2] + " // headPo : " +snake.headPosition + " // headPo[0] : " + snake.headPosition[0])
console.log("APRÈS BORDEL // [0][0] : " + snake.body[0][0] + " // [0][1] : " + snake.body[0][1] + " // [1][0] : " + snake.body[1][0] + " // [1][1] : " + snake.body[1][1])
console.log(snake.body[0])
console.log(snake.body[1])
console.log("on va double checker snake.body[0] : " + snake.body[0])
console.log("on va double checker snake.body[1] : " + snake.body[1])
break;
case "left":
for (var i = 1; i < snake.body.length; i ++) {
snake.body[i] = snake.body[i-1]
}
snake.headPosition[0] -= 1
snake.body[0] = snake.headPosition
console.log(snake.body[0])
console.log(snake.body[1])
break;
case "up":
for (var i = 1; i < snake.body.length; i ++) {
snake.body[i] = snake.body[i-1]
}
snake.headPosition[1] -= 1
snake.body[0] = snake.headPosition
console.log(snake.body[0])
console.log(snake.body[1])
break;
case "down":
for (var i = 1; i < snake.body.length; i ++) {
snake.body[i] = snake.body[i-1]
}
snake.headPosition[1] += 1
snake.body[0] = snake.headPosition
console.log(snake.body[0])
console.log(snake.body[1])
break;
default:
console.log(snake.direction)
}
}
function listenningKeyboard () {
$('html').keydown(function(e){
console.log(e.which);
switch(e.which) {
case 39:
snake.direction = "right"
break;
case 37:
snake.direction = "left"
break;
case 38:
snake.direction = "up"
break;
case 40:
snake.direction = "down"
break;
default:
console.log(snake.direction)
}
});
}
$(document).ready(function() {
render()
oneTurn()
listenningKeyboard()
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment