elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Laberinto en Php.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Laberinto en Php.  (Leído 4,679 veces)
n3fisto

Desconectado Desconectado

Mensajes: 153


Ver Perfil
Laberinto en Php.
« en: 17 Marzo 2010, 16:21 pm »

Hola como estan miren hice un post anteriormente el cual era de hacer un laberinto y poner al lobo y  caperucita. El lObo tiene que ir detras de caperucita Roja mas o menos lo tengo avanzado por el momento le s mostrare el codigo.
Y la duda con la que estoy

Código
  1. <?php
  2.  
  3. //Array que devolverá el laberinto
  4. $array = array(
  5.    array(1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),
  6.    array(1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1),
  7.    array(1,0,1,0,1,1,1,1,0,1,1,1,1,1,0,1,0,0,1,0,1,0,0,1),
  8.    array(1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,1,0,1,1,1,0,1,1),
  9.    array(1,0,1,1,1,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1),
  10.    array(1,0,0,0,0,0,0,1,0,1,1,1,0,1,0,1,1,0,1,0,1,0,0,1),
  11.    array(1,1,1,0,1,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1),
  12.    array(1,0,0,0,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1),
  13.    array(1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,1,0,1,1,0,1,1,0,1),
  14.    array(1,0,1,0,1,0,1,1,1,1,1,1,0,1,0,1,0,0,1,0,1,0,0,1),
  15.    array(1,0,1,0,1,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,1,0,1,1),
  16.    array(1,0,1,0,1,0,1,1,1,1,1,0,1,1,0,0,0,1,0,0,1,0,0,1),
  17.    array(1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,1,1,1,1,1,1,0,1,1),
  18.    array(1,0,1,0,0,0,0,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,1),
  19.    array(1,0,1,1,1,0,0,1,0,0,1,0,0,1,0,1,1,1,1,0,1,1,0,1),
  20.    array(1,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1),
  21.    array(1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0,0,1,0,1,1,1),
  22.    array(1,0,1,0,1,0,0,0,0,1,1,0,1,0,1,0,1,0,1,1,0,1,0,1),
  23.    array(1,0,1,0,1,0,1,1,0,0,1,0,0,0,1,0,1,0,0,1,0,1,0,1),
  24.    array(1,0,0,0,1,0,0,1,0,0,1,0,1,0,1,0,0,0,1,1,0,0,0,1),
  25.    array(1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1,1,0,0,1,1,1,0,1),
  26.    array(1,0,1,0,0,0,0,1,0,1,0,0,1,0,0,0,1,0,1,1,1,1,0,1),
  27.    array(1,0,1,0,1,1,1,1,0,0,0,1,1,1,0,0,1,0,0,0,0,0,0,1),
  28.    array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
  29. );
  30.  
  31. /*
  32. Esta función ubica aleatoriamente (o a través del parámetro $p)
  33. la caperusita en el laberinto. Además, guarda estas posiciones en las
  34. variables $qx y $qy
  35. */
  36. function caperusita(&$array,$p = NULL)
  37. {
  38.    global $qx,$qy;
  39.    if(isset($p) && strlen($p) >= 3) {
  40.        $p = explode(',',$p);
  41.        $t[1] = $p[0];
  42.        $t[0] = $p[1];
  43.    } else {
  44.        $d=count($array);
  45.        $t[0]=rand(0,($d-1));
  46.        $t[1]=rand(0,($d-1));    
  47.    }
  48.    if($array[$t[0]][$t[1]] == 0 && isset($array[$t[0]][$t[1]])) {
  49.        $array[$t[0]][$t[1]] = 2;
  50.        $qx = $t[1];
  51.        $qy = $t[0];
  52.        return TRUE;
  53.    } else {
  54.        return caperusita($array);
  55.    }
  56. }


La duda con la que estoy es como poder hacer el laberinto de manera randomica.
osea la forma.

Código
  1. //Array que devolverá el laberinto
  2. $array = array(
  3.    array(1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1),
  4.    array(1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1),
  5.    array(1,0,1,0,1,1,1,1,0,1,1,1,1,1,0,1,0,0,1,0,1,0,0,1),
  6.    array(1,0,1,0,0,0,0,1,0,1,0,0,0,0,0,1,1,0,1,1,1,0,1,1),
  7.    array(1,0,1,1,1,1,0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,1),
  8.    array(1,0,0,0,0,0,0,1,0,1,1,1,0,1,0,1,1,0,1,0,1,0,0,1),
  9.    array(1,1,1,0,1,0,0,1,0,0,0,0,0,1,1,1,1,1,1,0,1,1,1,1),
  10.    array(1,0,0,0,1,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1),
  11.    array(1,1,1,0,1,0,0,0,0,0,0,1,0,1,1,1,0,1,1,0,1,1,0,1),
  12.    array(1,0,1,0,1,0,1,1,1,1,1,1,0,1,0,1,0,0,1,0,1,0,0,1),
  13.    array(1,0,1,0,1,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,1,0,1,1),
  14.    array(1,0,1,0,1,0,1,1,1,1,1,0,1,1,0,0,0,1,0,0,1,0,0,1),
  15.    array(1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,1,1,1,1,1,1,0,1,1),
  16.    array(1,0,1,0,0,0,0,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,1),
  17.    array(1,0,1,1,1,0,0,1,0,0,1,0,0,1,0,1,1,1,1,0,1,1,0,1),
  18.    array(1,0,0,0,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1),
  19.    array(1,1,1,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0,0,1,0,1,1,1),
  20.    array(1,0,1,0,1,0,0,0,0,1,1,0,1,0,1,0,1,0,1,1,0,1,0,1),
  21.    array(1,0,1,0,1,0,1,1,0,0,1,0,0,0,1,0,1,0,0,1,0,1,0,1),
  22.    array(1,0,0,0,1,0,0,1,0,0,1,0,1,0,1,0,0,0,1,1,0,0,0,1),
  23.    array(1,0,1,0,1,1,0,1,0,1,1,0,1,0,1,1,1,0,0,1,1,1,0,1),
  24.    array(1,0,1,0,0,0,0,1,0,1,0,0,1,0,0,0,1,0,1,1,1,1,0,1),
  25.    array(1,0,1,0,1,1,1,1,0,0,0,1,1,1,0,0,1,0,0,0,0,0,0,1),
  26.    array(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1)
  27. );


La funcion de la caperucita sera casi la misma a la del lobo, lo que quiero es poder darle la opcion a que el lobo lo biusqye de manera propia si n necesirdad de intervencion del usuario ...


En línea

Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.191



Ver Perfil WWW
Re: Laberinto en Php.
« Respuesta #1 en: 19 Marzo 2010, 14:03 pm »

OH! :o como es que lo queres hacer esto? como lo imprimis? lo vas actualizando con ajax? si es asi sera lentisimo! yo te recomiendo javascript!!


En línea

n3fisto

Desconectado Desconectado

Mensajes: 153


Ver Perfil
Re: Laberinto en Php.
« Respuesta #2 en: 20 Marzo 2010, 15:26 pm »

Bueno como lo imprimo aki esta por el moento esta es mi idea..

Código
  1. /*
  2. Solo se usa para imprimir el laberinto.
  3. */
  4. function print_lab($text) {
  5.    global $array;
  6.    echo "\n<div class=\"inner\">";
  7.    echo "\n<span style=\"font-size: 14px; font-weight: bold;\">$text</span>";
  8.    echo "\n<hr>";
  9.    echo "\n<table align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\n";
  10.    foreach($array as $col=>$arr) {
  11.        echo "<tr>\n";
  12.        foreach($arr as $row=>$act) {
  13.            switch($act) {
  14.                case 1:
  15.                    echo "<td width=\"15\" height=\"15\" title=\"($row,$col)\"></td>\n";
  16.                    break;
  17.                case 2:
  18.                    echo "<td width=\"15\" height=\"15\" bgcolor=\"#FFFFFF\" title=\"($row,$col)\">";
  19.                    echo "<img src=\"queso.jpg\" alt=\"Queso ($row,$col)\" style=\"width: 15px; height: 15px; border: 0;\">";
  20.                    echo "</td>\n";
  21.                    break;
  22.                case 3:
  23.                    echo "<td width=\"15\" height=\"15\" title=\"($row,$col)\">";
  24.                    echo "<img src=\"camino.jpg\" alt=\"Ruta ($row,$col)\" style=\"width: 15px; height: 15px; border: 0;\">";
  25.                    echo "</td>\n";
  26.                    break;
  27.                case 4:
  28.                    echo "<td width=\"15\" height=\"15\" bgcolor=\"#FFFFFF\" title=\"($row,$col)\">";
  29.                    echo "<img src=\"raton.jpg\" alt=\"Ratón ($row,$col)\" style=\"width: 15px; height: 15px; border: 0;\">";
  30.                    echo "</td>\n";
  31.                    break;
  32.                default:
  33.                    echo "<td width=\"15\" height=\"15\" bgcolor=\"#FFFFFF\" title=\"($row,$col)\"></td>\n";
  34.                    break;
  35.            }
  36.        }
  37.        echo "</tr>\n";
  38.    }
  39.    echo "</table>\n\n";
  40.    echo "\n</div>";
  41. }

Bueno la actualizacion es ahi mismo priemro muestra el laberinto original luego con los dos personajes y por ultimo la solucion como estoy por una solucion beta aun no uso Ajax quiero q este estable y poder hacerlo recien con ajax pero lo que mas pienso es como hacer el random no me ubico muy bien
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Juego del laberinto C
Programación C/C++
Rpgmakero 4 10,679 Último mensaje 4 Marzo 2011, 01:50 am
por N0body
Funciones en laberinto en C!
Programación C/C++
lalintians 2 3,032 Último mensaje 11 Mayo 2011, 03:10 am
por lalintians
laberinto Layer Maze
Juegos y Consolas
mikeconay 0 2,951 Último mensaje 20 Octubre 2011, 05:07 am
por mikeconay
Juego de laberinto en c++
Programación C/C++
SirLancelot53 6 14,206 Último mensaje 30 Enero 2014, 23:11 pm
por NikNitro!
Problema laberinto java
Java
fran774 2 5,991 Último mensaje 4 Noviembre 2014, 10:04 am
por fran774
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines