etecção de colisão JavaScript
Estou tentando fazer um jogo de cobra em javascript, mas estou lutando com a detecção de colisão. Eu tentei vários métodos até agora, mas em desespero, resolvi armazenar todas as posições dos segmentos de cada quadro e verificar se há duplicatas antes de animar a próxima. Infelizmente, esse método também não teve sucesso.
Talvez isso se deva a um mal-entendido de como JS trata matrizes. Por um tempo eu estava usandoif(x in y)
mas, pelo que sei, isso retorna se o mesmo objeto estiver em uma matri
qui está a demonstração ao vivo:http: //jsfiddle.net/AScYw/2
Aqui está o código mais facilmente lido:http: //pastebin.com/ygj73me
O código em questão está no objeto cobra, como a funçãocollide
.
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];
}
}