elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 01:09  

+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP
| | | |-+  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 914 veces)
n3fisto

Desconectado Desconectado

Mensajes: 155


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

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
<?php 
 
//Array que devolverá el laberinto
$array = array(
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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)
);
 
/*
Esta función ubica aleatoriamente (o a través del parámetro $p)
la caperusita en el laberinto. Además, guarda estas posiciones en las
variables $qx y $qy
*/

function caperusita(&$array,$p = NULL)
{
   global $qx,$qy;
   if(isset($p) && strlen($p) >= 3) {
       $p = explode(',',$p);
       $t[1] = $p[0];
       $t[0] = $p[1];
   } else {
       $d=count($array);
       $t[0]=rand(0,($d-1));
       $t[1]=rand(0,($d-1));    
   }
   if($array[$t[0]][$t[1]] == 0 && isset($array[$t[0]][$t[1]])) {
       $array[$t[0]][$t[1]] = 2;
       $qx = $t[1];
       $qy = $t[0];
       return TRUE;
   } else {
       return caperusita($array);
   }
}


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

Código
//Array que devolverá el laberinto 
$array = array(
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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),
   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)
);


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.180



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

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



I'm back!
n3fisto

Desconectado Desconectado

Mensajes: 155


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

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

Código
/*
Solo se usa para imprimir el laberinto.
*/

function print_lab($text) {
   global $array;
   echo "\n<div class=\"inner\">";
   echo "\n<span style=\"font-size: 14px; font-weight: bold;\">$text</span>";
   echo "\n<hr>";
   echo "\n<table align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\n";
   foreach($array as $col=>$arr) {
       echo "<tr>\n";
       foreach($arr as $row=>$act) {
           switch($act) {
               case 1:
                   echo "<td width=\"15\" height=\"15\" title=\"($row,$col)\"></td>\n";
                   break;
               case 2:
                   echo "<td width=\"15\" height=\"15\" bgcolor=\"#FFFFFF\" title=\"($row,$col)\">";
                   echo "<img src=\"queso.jpg\" alt=\"Queso ($row,$col)\" style=\"width: 15px; height: 15px; border: 0;\">";
                   echo "</td>\n";
                   break;
               case 3:
                   echo "<td width=\"15\" height=\"15\" title=\"($row,$col)\">";
                   echo "<img src=\"camino.jpg\" alt=\"Ruta ($row,$col)\" style=\"width: 15px; height: 15px; border: 0;\">";
                   echo "</td>\n";
                   break;
               case 4:
                   echo "<td width=\"15\" height=\"15\" bgcolor=\"#FFFFFF\" title=\"($row,$col)\">";
                   echo "<img src=\"raton.jpg\" alt=\"Ratón ($row,$col)\" style=\"width: 15px; height: 15px; border: 0;\">";
                   echo "</td>\n";
                   break;
               default:
                   echo "<td width=\"15\" height=\"15\" bgcolor=\"#FFFFFF\" title=\"($row,$col)\"></td>\n";
                   break;
           }
       }
       echo "</tr>\n";
   }
   echo "</table>\n\n";
   echo "\n</div>";
}

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 2,556 Último mensaje 4 Marzo 2011, 01:50
por N0body
Funciones en laberinto en C!
Programación C/C++
lalintians 2 585 Último mensaje 11 Mayo 2011, 03:10
por lalintians
laberinto Layer Maze
Juegos y Consolas
mikeconay 0 484 Último mensaje 20 Octubre 2011, 05:07
por mikeconay
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines