2 //vomitado por Eriiiiiic dominio público-púbico
4 //Es momento de bailar la esponja
7 //declaraciones pendejas globales
12 //puto laberinto y sus caminos
13 var maze = new Array(renglones);
14 for (x = 0; x < maze.length; x++){
15 maze[x] = new Array(columnas);
18 //inicialización de movimientos de mierda a dibujar
19 var row = new Array(4);
20 var column = new Array(4);
21 //reglon (en x de la chingada)
26 //columna (en y de la chingada)
32 //tamaño imbecil del laberinto a dibujar idiota
33 var mazeRow = 1 + 2*renglones;
34 var mazeCol = 1 + 2*columnas;
36 //puto arreglo para dibujar un inutil laberinto con pinche ASCII
37 var mazeDraw = new Array(mazeRow);
38 for (x = 0; x < mazeDraw.length; x++){
39 mazeDraw[x] = new Array(mazeCol);
42 //puta posicion actual (x,y)
47 function mazeFuck(posX, posY){
48 //inicializa bandera de cagada validez
51 //valor default de no moviemiento de mierda
52 maze[posX][posY] = new Array();
53 maze[posX][posY].push(-1);
55 //mientras hayan movimeintos de mierda válidos
57 var valido = new Array();
58 //chequeo de casillas válidas imbecil
59 for (var i = 0; i < 4; i++){
60 //verifica que este adentro del maldito arreglo
61 if ( (posX + row[i] >= 0) && (posY + column[i] >= 0) && (posX + row[i] < maze.length) && (posY + column[i] < maze[0].length) ){
62 //verifica que no este recorrida la puta posición
63 if ( maze[posX + row[i]][posY + column[i]] == undefined ){
64 //guarda movimientos de mierda válidos
69 // no me caso de poner comentarios de la verga
70 //si hay movimientos de mierda válidos
71 if (valido.length != 0){
72 //elige un valor de mierda válido al chile (random)
73 var movPos = valido[ Math.floor( Math.random()*4) % valido.length ];
75 //si es igual a -1 quito el valor a la chingada
76 if(maze[posX][posY][0] == -1){
77 maze[posX][posY].pop();
80 //guarda el movimeinto de mierda
81 maze[posX][posY].push(movPos);
84 mazeFuck(posX + row[movPos], posY + column[movPos]);
87 //si no hay, bla bla dice: "FLAG! no mames, eres falso, salte del puto while
96 //genera el laberinto y sus caminos de la chingada
98 //se inicializa con algun caracter cagada
99 for (i = 0; i < mazeDraw.length; i++){
100 for (j = 0; j < mazeDraw[i].length; j++){
101 mazeDraw[i][j] = "0";
105 //pendejo color del camino
106 var colorin_road = "<font color=\"black\">::</font>";
108 //harcodea entrada y salida, que pendejo y webon
109 mazeDraw[1][0] = "<font color=\"yellow\">1</font>";
110 mazeDraw[mazeDraw.length - 2][mazeDraw[0].length - 1]= "<font color=\"green\">S</font>";
112 //recorre al arreglo lameculos para dibujar el putillo recorrido
113 for (x = 0; x < maze.length; x++){
114 for (y = 0; y < maze[x].length; y++){
115 for ( z= 0; z < maze[x][y].length; z++){
116 //si el putin valor es -1 no tumba pared
117 if(maze[x][y][z] != "-1"){
118 //guarda el mierda de valor del movimiento
119 var tempr = row[ maze[x][y][z] ];
120 var tempc = column[ maze[x][y][z] ];
123 //pinta caminillo hijo de puta en posicion actual, +1 y +2 en respecputamente
124 mazeDraw[posR][posC] = colorin_road;
125 mazeDraw[ posR + tempr ][ posC + tempc ] = colorin_road;
126 mazeDraw[ posR + 2*tempr ][ posC + 2*tempc ] = colorin_road;
132 //imprime el laberinto pinche cabron
136 function printMaze(m){
137 //inicializo cadenilla ogt
139 //la recorro a la puta
140 for (i = 0; i < m.length; i++){
141 for (j = 0; j < m[i].length; j++){
142 cadenilla += m[i][j];
144 cadenilla += "</br>";
146 //la imprimo la chigandera a putazos hardcore id
147 document.getElementById("666").innerHTML = cadenilla;
150 //funcion para checar validez de la pinch posicion y devolver su puto estado
151 function checaPosColorea(i){
152 //usa "i" de mierda para saber a donde chingados se quiere mover
153 //valida posicion y si es difrente a puta pared harcodeada = "0" se mueve
154 if( (posMazeX + row[i] >= 0) && (posMazeY + column[i] >= 0) && (posMazeX + row[i] < mazeDraw.length) &&
155 (posMazeY + column[i] < mazeDraw[0].length) ){
156 if (mazeDraw[posMazeX + row[i]][posMazeY + column[i]] != "0"){
157 mazeDraw[posMazeX][posMazeY] = "<font color=\"red\">::</font>";
158 mazeDraw[posMazeX + row[i]][posMazeY + column[i]] = "<font color=\"yellow\">1</font>";
161 if ( ( posMazeX + row[i] == mazeDraw.length - 2) && ( posMazeY + column[i] == mazeDraw[0].length - 1) ){
162 alert("Es momento de bailar la esponja");
169 //funcion para detectar si presiona las flechas el simio,
170 //y luego mover la puta posicion
171 function handleKeyboard(e)
173 if(e.keyCode == 37){//izquierda = 3
175 }else if(e.keyCode == 38){//arriba = 0
177 }else if(e.keyCode == 39){//derecha = 1
179 }else if(e.keyCode == 40){//abajo = 2
185 document.getElementById("esponja").innerHTML = "<img src=\"./dancethesponge1.jpg\"/><img src=\"./dancethesponge2.jpg\"/>";