Ver Mensaje Individual
  #8 (permalink)  
Antiguo 30/04/2004, 18:51
raulemir
 
Fecha de Ingreso: marzo-2003
Ubicación: valencia
Mensajes: 68
Antigüedad: 21 años, 7 meses
Puntos: 0
bien, haber si soy capaz de explicar esto con claridad. en primer lugar habria que definir una serie de funciones que realizaran acciones concretas, entre ellas, comprobar si el mc ha llegado al final del laberinto, otra que nos devuelva en cada paso las posibilidades de eleccion es decir hacia arriba, hacia abajo, izquierda y derecha, y luego otra funcion que guarda todas las elecciones que toma el mc en una array multidimensional, (este array multidimensional tiene que tener una estructura de los datos en forma de arbol, con la misma ramificacion que tendrian las diferentes posibilidades y elecciones que hemos tomado), de manera que en caso de encontrar un cllajon sin salida el mc pudiera recorrer este array para saber donde estaba el punto de eleccion anterior donde eligio mal y poder rectificar.

el orden seria mas o menos este:

1ª comprobarSiHecho()
si es no:

2ªfuncionPosibilidades()// esta funcion comprueba hacia que lado se puede mover el mc sin topar con una de las paredes
en el caso de que solo exista una posibilidad, simplemente avanza, en el caso de que existan varias tiene que:

por un lado guardar ese punto en el array guardando el punto x e y y la cantidad de posibilidades, todos estos datos como propiedades de un objeto generico que metemos en una de las casillas del array.
y por otro ejecutar un random para elejir una de las multiples posibilidades

en el caso de llegar a un callejon sin salida se ejecutaria una funcion (retorno();) que lo que hace es busscar en el array cual era el ultimo punto donde el mc a tenido que hacer una eleccion, y seleccionar otra de las posibilidades, ademas de maracar la que ya hemos recorrido como erronea


____________________
visita www.chemalopez.com el nuevo proyecto de www.invitrodesign.com