Estoy tratando de hacer un juego de serpientes en JavaScript, pero estoy luchando con la detección de colisiones. He intentado varios métodos hasta ahora, pero en la desesperación, he decidido almacenar todas las posiciones de los segmentos en cada fotograma y luego verificar si hay algún duplicado antes de animar el siguiente. Este método tampoco ha sido exitoso.Javascript Detección de colisiones
Quizás esto se deba a un malentendido acerca de cómo JS trata las matrices. Durante un tiempo estuve usando if(x in y)
pero por lo que puedo decir que regresa si el mismo objeto está en una matriz.
Aquí está la demostración en vivo: http://jsfiddle.net/AScYw/2/
Aquí está el código sea más fácil de leer: http://pastebin.com/ygj73me6
El código en cuestión está en el objeto de serpiente, como la función collide
.
this.collide = function(){
for(var z=0; z<this.positions.length-1; z++){
for(var q=z+1; q<this.positions.length-1; q++){
return this.positions[z][0] == this.positions[q][0] && this.positions[z][1] == this.positions[q][1];
}
}
¡Este juego es fácil con la detección de colisiones deshabilitada! – bgw
@PiPeep Sí, ¿no es genial? – danem