Está en la página 1de 7

APE 2 - 2022

Javier Agustín Amaya

Programación de Computadoras I

Lenguaje, Interpretación y Literatura Académica

Edith Lovos

María Silvia Alasio


Introducción

Este trabajo consiste en realizar un diseño y algoritmo del juego “Buscaminas”,


respetando una estructura.
El juego “Buscaminas” consiste en una cuadrícula de casilleros que se encuentran
inicialmente todos “cubiertos”; es decir, no se puede ver lo que contiene cada casillero.
Algunos casilleros ocultan en su interior una mina y otros tienen “tierra segura”.
El jugador debe lograr marcar todos los casilleros donde no hay minas para ganar.

Diagrama del programa

Programa
principal

menu selecUbicacion mostrarTablero mostrarMinas

revelarCeldas pistasMinas crearTablero colocarMinas

Modulo: menú

Objetivo: Mostrar las opciones disponibles


Tipo: Procedimiento.

Parámetros: no recibe

DE: no recibe ningún parámetro.


DS: no retorna ningún valor.
Modulo: mostrarTablero
Objetivo: mostrar el tablero con los números y las minas
Tipo: Procedimiento
DE: tableroVisible[N][N] de enteros.
Filas
Columnas
DS: no devuelve ningún valor

Modulo: selecUbicacion
Tipo: Procedimiento
Objetivo: saber la posición ingresada por el usuario
Parámetros: por referencia
DE: tableroVisible[N][N] de enteros
tableroOculto[N][N] de enteros
filas
columnas
DS: tableroVisible[N][N] de enteros
Pre-cond: fila >= 0 y columna >= 0
fila <= N y columna < N
Modulo: colocarMinas
Objetivo: Colocar minas de forma aleatoria en el tablero
Tipo: Procedimiento
Parámetros: por referencia
DE: tableroOculto[N][N] de enteros
Filas
Columnas
Minas
DS: tableroOculto[N][N] de enteros

Modulo: mostrarMinas
Objetivo: mostrar la ubicación de las minas
Tipo: procedimiento.

Parámetro: por referencia.

Problema: Se desea revelar la posición de las minas.

DE: tableroVisible[N][N] matriz de enteros.

tableroOculto[N][N] matriz de enteros.

DS: no devuelve ningún valor.


Modulo: revelarCeldas
Objetivo: revelar todas las celdas sin minas adyacentes.
Tipo: procedimiento
Parámetros: por referencia
DE: tableroVisible[N][N] matriz de enteros.
tableroOculto[N][N] matriz de enteros.
Fila
columna
DS: tableroVisible[N][N] matriz de enteros
contador

Modulo: pistaMinas
Objetivo: verificar cuantas minas hay alrededor de celda.
Tipo: procedimiento
Parámetro: por referencia
DE: tableroOculto[N][N] matriz de enteros.
tableroVisible[N][N] matriz de enteros
DS: tableroVisible[N][N] matriz de enteros

Modulo: creaTablero
Objetivo: inicia los tableros con los valores correspondientes, para comenzar el
juego
Tipo: procedimiento
Parámetro: por referencia
DE: tableroVisible[N][N] matriz de enteros
tableroOculto[N][N] matriz de enteros
DS: -
PROGRAMA PRINCIPAL
INICIO

N = 10
Minas= 10

tableroOculto[N][N] matriz de enteros


tableroVisible[N][N] matriz de enteros
mostrarTablero(tableroVisible)

jugando = True
fila= 0
columna= 0
resultado = 0
MIENTRAS(jugando):
menu()
leer(opcion)
SI(opción == 1) ENTONCES:
creaTablero (tableroOculto, tableroVisible)
colocarMinas(tableroOculto, filas, columnas, minas)
SINO(opción ==2)ENTONCES:
mostrarMinas(tableroOculto, tableroVisible)
SINO(opción==3) ENTONCES:
mostrarTablero( tableroVisible)
SINO(opcion == 4) ENTONCES:
MIENTRAS(jugando = true)
LEER(fila)
LEER(columna)
selecUbicacion(tableroOculto, tableroVisible, fila, columna)
SI (resultado > 0) ENTONCES:
MOSTRAR(“Perdiste”)
Jugando = False
SINO(resultado == 0)ENTONCES:
revelarCeldas(tableroOculto, tableroVisible,fila, columna)

SI (contador >89) ENTONCES


MOSTRAR (“GANASTE”)
Jugando = False
FIN

IMPLEMENTACION (incompleta)
https://onlinegdb.com/OaDob8hpzm

También podría gustarte