¿Para qué bajárselo? Juega On-Line
Te permite jugar sin estar conectado
Contiene todos los skins y niveles
Pon una versión ligera del Sokoban en tu blog
En esta sección se dan los pasos a seguir para que cualquiera pueda elaborar su propio skin para esta implementación del Sokoban. Lo primero de todo, aclarar que hay dos tipos de skins: el que he venido a llamar "simple" y "complejo".
Lo que diferencia a ambos es la representación gráfica de la pared. Mientras que en el caso "simple" todos los bloques de la pared son idénticos, en el "complejo", se tienen en cuenta otros elementos como son las sombras, si son esquina, rincón, y otras condiciones que hacen que las piezas de la pared sean diferentes.
Básicamente, el skin es un conjunto de imágenes. Para guardarlas, crearemos un directorio con el nombre del skin dentro de la carpeta img. Por ejemplo, creamos la carpeta "miNuevoSkin".
Si el skin es simple, contendrá las imágenes:
Los nombres de las imágenes son autoexplicativos, excepto ojugador y otesoro, que representan cuando un jugador o un tesoro (caja) está sobre un objetivo. Y sp.gif que realmente representa a esa región del espacio que no está ocupada por ninguna de las entidades anteriores. Vamos que es un hueco vacío.
Las imágenes pueden ser del tamaño que se quiera, incluso no tienen porqué ser cuadradas, pueden ser rectangulares. Pero lo que sí es necesario, es que todas las imágenes sean del mismo tamaño.
Ahora vamos a preparar los archivos para que en el juego se pueda visualizar nuestro skin. Para ello, abrimos el archivo "funciones.js".
En el nos encontramos que hay definido un array de la forma
var aSkins = new Array(); aSkins[0] = ["Mac","img/mac/",16,16,false]; aSkins[1] = ["Mac (Grande)","img/mac/",32,32,false]; aSkins[2] = ["Simple (Normal)","img/simple_n/",16,16,true]; aSkins[3] = ["Simple (Pequeño)","img/simple_p/",8,8,true]; aSkins[4] = ["eContento","img/eContento/",13,13,true]; aSkins[5] = ["Yoshio Murase","img/yoshio/",16,16,true]; aSkins[6] = ["Windows","img/windows/",16,16,false]; aSkins[7] = ["Gadget para Google","img/google/",13,13,true];
Cada elemento del array representa un skin. A su vez cada elemento está formado por varios campos:
aSkins[i] = ["Nombre","nombreDir",w,h,esSimple];
En el caso que nos ocupa, sería por ejemplo:
aSkins[i] = ["Mi nuevo skin","img/miNuevoSkin",12,10,true];
Esto querría decir que las imágenes de mi nuevo skin serían de 12x10 píxeles y que la pared es del tipo simple.