Código Javascript:
Ver original
var j; var tminas = new Array(); tminas[0] = {id:"test", xm:0} contadorm=1; function masMinas(i,x){ x=parseInt(x)+40; tminas.push(tminas[contadorm] = {id:i, xm:x}); contadorm++; //alert("largo del array despues de adicionar:"+tminas.length); } function menosMinas(is,x){ //alert("algo"+is); x=parseInt(x)+40; for(var i=3; i<=tminas.length; i++){ if((tminas[i].id)==is){ tminas[i].xm = {id:is,xm:null}; //no me valida la variable i como un numero y por lo tanto falla, si manualmente le coloco un numero cualquiera funciona } //alert(tminas[i].id); } } function detectarColision(ids,x1){ xmini=parseInt(x1)+20; xmfin=parseInt(x1)+40; //alert("media iniciar modificada"+xmini+", media final modificada"+xmfin); alert("id de la mina:"+tminas[3].id+", posicion de la mina"+tminas[3].xm); for(var j=2; j<=tminas.length; j++){ alert(tminas.length+",j:"+j); //no me valida la variable i como un numero y por lo tanto falla, si manualmente le coloco un numero cualquiera funciona, y fuera del for funciona if(((tminas[j].xm) > (xmini)) && ((tminas[j].xm) < (xmfin) ) ){ //alert("colisione con la mina"+tminas[i].id +", y soy el soldado"+ids); document.getElementById(ids).ocultar(); } } }