var filas;
var tabla;
var indice;
var columnas;
var movimiento;
var hecho;
function Cargar(ruta)
{
var div = document.getElementById('oculto');
var top = 0;
var left = 0;
var ideano = 0;
hecho = 0;
movimiento = 0;
filas = parseInt(document.getElementById("number2").value);
columnas = parseInt(document.getElementById("number1").value);
document.getElementById("movimiento").innerHTML = "Movimientos : 0";
div.innerHTML = "";
for(var a = 0;a < columnas;a++)
{
//320 y 180
//
>
for(var b = 0;b < filas;b++)
{
if(ruta === undefined || ruta == "" || ruta == 'puzzle.jpg')
{
div.innerHTML += "";
}else
{
div.innerHTML += "";
}
left += (1280/filas);
ideano++;
}
top += (720/columnas);
left = 0;
}
Aleatorio();
}
function Aleatorio()
{
tabla = [];
var multi = (filas*columnas);
for(var a = 0;a < multi;a++)
{
var ran = Math.round(Math.random()*(multi-1));
var verificacion = true;
while(verificacion)
{
if(tabla.indexOf(ran) == -1)
{
verificacion = false;
tabla.push(ran);
}
ran = Math.round((Math.random()*(multi-1)));
}
}
var div = document.getElementById('eleccion');
div.innerHTML = "";
for(var ai = 0;ai < tabla.length;ai++)
{
div.innerHTML += document.getElementById("img"+[tabla[ai]]).outerHTML;
}
var num = Math.round((Math.random()*(multi-1)));
indice = tabla.indexOf(num);
if(filas == 1 && columnas == 1)
{
alert("1x1: Has ganado :)");
}else
{
document.getElementById("img"+num).outerHTML = ""+document.getElementById("img"+num).innerHTML+"";
}
}
function enviar(objeto)
{
if(hecho === 0)
{
var nuevo = objeto.id.replace("img","");
var totalidad = false;
try
{
if(nuevo == tabla[indice-1])
{
totalidad = true;
}
}catch(exo){}
try
{
if(nuevo == tabla[indice+1])
{
totalidad = true;
}
}catch(exo){}
try
{
if(nuevo == tabla[indice-filas])
{
totalidad = true;
}
}catch(exo){}
try
{
if(nuevo == tabla[indice+filas])
{
totalidad = true;
}
}catch(exo){}
if(totalidad)
{
var vacio = document.getElementById("img"+tabla[indice]).outerHTML;
document.getElementById("img"+tabla[indice]).outerHTML = objeto.outerHTML;
var antiguo = tabla[indice];
var indice2 = tabla.indexOf(parseInt(nuevo));
tabla[indice] = parseInt(nuevo);
indice = indice2;
tabla[indice] = parseInt(antiguo);
objeto.outerHTML = vacio;
movimiento++;
document.getElementById("movimiento").innerHTML = "Movimientos : "+movimiento;
var tabula = CrearArray();
if(Iguales(tabla,tabula))
{
hecho = 1;
Mensaje("Has ganado, Enhorabuena :)");
document.getElementById("img"+tabla[indice]).style.visibility = "visible";
}
}
}
}
function Mensaje(nombre)
{
document.getElementById("texto").innerHTML = nombre;
document.getElementsByClassName("mensaje")[0].style.display = "block";
}
function Iguales(array,array2)
{
var final = 0;
for(var a = 0;a < array.length;a++)
{
if(array[a] === array2[a])
{
final++;
}
}
return (final==array.length)?true:false;
}
function CrearArray()
{
var tabla = [];
var multi = (filas*columnas);
for(var a = 0; a < multi;a++)
{
tabla.push(a);
}
return tabla;
}
function Tecla(evt)
{
if(evt.keyCode == 37)
{
try
{
enviar(document.getElementById("img"+(tabla[indice+1])));
}catch(err){}
}
else if(evt.keyCode == 39)
{
try
{
enviar(document.getElementById("img"+(tabla[indice-1])));
}catch(err){}
}
else if(evt.keyCode == 40)
{
try
{
enviar(document.getElementById("img"+(tabla[indice-4])));
}catch(err){}
}
else if(evt.keyCode == 38)
{
try
{
enviar(document.getElementById("img"+(tabla[indice+4])));
}catch(err){}
}else if(evt.keyCode == 32)
{
Cargar();
}
}