nesecito ayuda para programar un buscaminas en C

juan
14 de Diciembre del 2005
Hola a todos, nesecito que alguien q sea experto en programar en turbo c me de ayuda, lo q pasa es q nesecito programar un buscaminas con los requisitos q escribi abajo de este mensaje y nisiquiera se por donde empezar . Porfa nesecito el codigo o consejos (se usar algunas funciones basicas como el for, while, matrices, lo ultra-mega basico del c ), ojala alguien se de la molestia de ayudarme en serio, se los agradecere muxo

Problema

El BUSCAMINAS se juega sobre un tablero que está sembrado de minas.
El objetivo es encontrar las minas evitando que exploten. El jugador puede ejecutar dos tipos de jugada sobre una posición del tablero: marcar con una bandera si cree que hay una mina oculta, o descubrir la posición si cree que es segura.
Cuando el jugador descubre una posición en la que no hay mina, el programa muestra la cantidad de minas que se encuentran alrededor de la casilla descubierta, en forma contigua. En caso de que no hayan minas alrededor, el programa descubre automáticamente todas las posiciones contiguas a la posición descubierta.
Si el jugador se equivoca y descubre una posición en la que se encuentra una mina, el juego termina y el programa gana. Por el contrario, si el jugador logra descubrir todas las posiciones libres de minas, y por tanto determinar donde se encuentran todas las minas, el juego termina y el jugador gana.

Planteamiento del Juego

Es posible jugar en una única modalidad:

Novato, que se juega en un tablero de 9 × 9 posiciones y que contiene 15 minas sembradas.
Una vez que el jugador ha definido la modalidad de juego el programa ubica en forma aleatoria la cantidad de minas que corresponda, dependiendo de la modalidad seleccionada, y finalmente presenta el tablero cubierto al usuario. El
jugador debe entonces seleccionar una posición de juego, y seleccionar el tipo de jugada: descubrir la posición o marcarla como posición de mina. Si el jugador elige marcarla, el programa muestra la casilla con una señal distintiva (B). En cambio, si
el jugador elige descubrir la posición, el programa analiza la posición. Si hay una mina el juego termina y el jugador pierde. En este caso el programa muestra la ubicación de todas las minas. De lo contrario, el programa muestra en la posición el total de minas que se ubican alrededor de la posición destapada y, si es un cero, descubre además todas las casillas contiguas mostrando los valores para
cada una de ellas, pero no mostrará un 0, sino que un espacio EN BLANCO.

Ejemplo de funcionamiento
Inicialmente el jugador verá el tablero con todas las posiciones cubiertas.

Posición inicial.

x x x x x x x x x
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x

Luego el jugador ingresará la posición del tablero sobre la que actuará, en
términos de FILA, COLUMNA, e ingresará la acción a realizar considerando que:

1= Marcar
2= Descubrir

>> Jugada 1: F: 1 / C: 3 / Acción: 1

x x B x x x x x x
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x
x x x x x x x x x

>> Jugada 2: F: 4 / C: 4 / Acción: 2

x x B x x x x x x
x x x x x x x x x
x x 2 1 x x x x x
x x 1
x x 1 1 1
x x 1 1 1 2 x
x x x x 1 1 4 x
x x x 2 1 2 x x
x x x 1 2 x x

>> Jugada 1: F: 7 / C: 4 / Acción: 2

x x B x x x x x x
x x x x x x x x x
x x 2 1 x x x x x
x x 1
x x 1 1 1
x x 1 1 1 2 x
x x x E 1 1 4 x
x x x 2 1 2 x x
x x x 1 2 x x

En este caso, debiese mostrarse por pantalla el siguiente mensaje:
¡EXPLOTÓ MINA en 7x4! Presione ‘N’ para Nuevo juego y S para Salir.