Foro de programacion

programacion
RegistrateNewsletter
zonas:adsl:area-flash:area-php:area-asp:area-vb:area-photoshop:area-Vfox:area-Soft:area.:Mas
+ de 45.000 registrados
Secciones: Manuales-Diseño-Trucos-Recursos-Foros/Comunidad-Software-CodigoFuente-compras
AñadenosFavoritos
Secciones: Herramientas-Libros-Webmasters/Google-Noticias -Biblioteca-Cursos--Directorio-EmpleoN
Foros de Programacion - Cominidad de Programadores
 
Foros de programacion
es una web de ayuda a los programadores y webmasters, la buena utilizacion del foro sera el premio que tendremos para q este elemento sea util para los usuarios.

Colaborar: Si deseais ser moderadores de alguno de los foros estaremos encantados en que nos presteis esa ayuda , tan solo es necesario tener algun conocimiento
del tema que trata el foro y tener ganas ganas de colaborar para ser moderador mandar un mail indicando de que foro deseais ser moderador

Deseais que pongamos algun nuevo foro de programacion? ¿quieres crear un nuevo foro y ser su moderador? ponte en contacto con nosotros

Retroceder   Foros > Programacion > Pascal / TurboPascal

Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 11 de noviembre,2009, 08:11
Junior Member
Nivel basico por msg
 
Fecha de Ingreso: nov 2009
Mensajes: 1
Predeterminado Buscaminas en Free Pascal

Buenos días. Soy una estudiante del ciclo básico de ingeniería y para salvar el curso de programación tenemos que realizar un buscaminas en Pascal.
Para realizar el siguiente procedimiento tenemos que usar listas de pendientes y la verdad es que no se me ocurre cómo ir poniendo el puntero en el siguiente campo dentro de una matriz. Cualquier ayuda será bienvenida.

# Descubrir una celda. Esta acción se realiza sobre una celda oculta. El resultado depende del contenido de la celda:

* Si la celda contiene una mina el juego se pierde.
* Si la celda está libre pero hay minas en las celdas circundantes, aparece un número (entre 1 y 8) que indica la cantidad de celdas circundantes que contienen una mina.
* Si la celda está libre y no hay minas en ninguna de las celdas circundantes, la celda se descubre y también se descubren automáticamente todas las casillas circundantes, aplicando el mismo procedimiento para cada una de ellas. Este procedimiento deja al descubierto toda un área de casillas libres adyacentes.


Guía para descubrir celda

El procedimiento Descubrir tiene algunas complejidades algorítmicas que requieren pensarlo con cuidado. En este apéndice damos algunas sugerencias para su implementación.

Si la celda a descubir contiene una bomba el juego termina. Si la celda a descubrir no contiene bomba y la cantidad de circundantes con bomba es mayor que cero, se descubre sólo esta celda y continúa el juego.

La situación más compleja surge cuando la celda no contiene bomba y la cantidad de circundantes con bomba es igual a 0. Para este caso sugerimos un algoritmo que permite explorar exhaustivamente el área circundante a descubrir.

Se utiliza una lista de posiciones de celdas que llamaremos la lista de pendientes. En esta estructura guardamos un conjunto de posiciones de celdas que aún nos resta procesar en el proceso de descubrir toda el área circundante. La implementación de esta estructura la dejamos a consideración del estudiante.

El algoritmo es el siguiente:

* Poner el estado de la celda inicial como descubierta
* Guardar posición de esta celda en lista de pendientes.
* Repetir mientras la lista de pendientes no sea vacía
1. Elegir una celda cualquiera de la lista de pendientes. Quitarla de la lista
2. Para cada una de sus celdas circundantes aún no descubiertas (pueden ser hasta 8) hacer lo siguiente:
1. Poner el estado en descubierta
2. Si el número de circundantes con bomba es 0, agregar la posición de esta celda a la lista de pendientes



Muchísimas gracias.
Responder Citando
Respuesta

Etiquetas
juegos, pascal

Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Las caritas están Activado
El codigo [IMG] está Activado
Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Activado
Ir al Foro

Programacion : LWPI Solorecursos I programacion I abcdatos I TrucosTecnicos I servicios gratisI ofertas de ADSL Ipueblos20
Areas exclusivas:cursosIofertasIadslIwebtutoriales ISMSareaItutorialesItrucos de windows IgooglemaniaI programatium.netIcompras
noticias: SaludIOcio/cineIMusicaIMotorIDeportes IJuegos I FinanzasIMovilesIEnergiaIEcologiaITech-yIMujerIMACISaludIViajes-Pueblos
site programatium.com : site1 - site2 - site3 - site4 - site5 - site6 - site7 - site8
manuales Sugiere un manual para esta seccion
who's online
Linkanos
www.programatium.com© 1999 - web esta optimizada para Microsoft explorer 6.0
tutoriales

Content Relevant URLs by vBSEO 3.2.0