s3Eva_IT2006_T4 Juego planta bombas (buscaminas)

Propuesta de solución en Python:

Nota: contiene tareas por realizar, revisar comentarios en las instrucciones

# 3ra Evaluación I Término 2006
# Tema 4. plantabombas (ref: buscaminas)
# propuesta: edelros@espol.edu.ec
import numpy as np
import random

def plantabombas(m,n):
    campo = np.zeros(shape=(n,n),dtype=int)
    bomba = 1
    while not(bomba>m):
        fila = int(random.random()*n)+0
        columna = int(random.random()*n)+0
        if (campo[fila,columna]==0):
            campo[fila,columna] = 1
            bomba = bomba+1
    return(campo)

# PROGRAMA --------------
# INGRESO
n = int(input('tamaño de tablero[n,n]: '))
m = int(input('cantidad de minas:'))

# Tarea: validar cantidad de minas menos que casillas en tablero
f = int(input('coordenada fila:'))
while not(f>0 and f<(n-1)):
    f = int(input('coordenada fila:'))

c = int(input('coordenada columna:'))
while not(c>0 and c<(n-1)):
    c = int(input('coordenada columna:'))

# PROCEDIMIENTO
# Crear tablero con bombas
territorio = plantabombas(m,n)

# TAREA: Completar las casillas en diagonal
if (territorio[f,c]==0):
    reporta = territorio[f-1,c]+territorio[f+1,c]+territorio[f,c-1]+territorio[f,c+1]
else:
    reporta = -1

# SALIDA
print('reporte: ',reporta)
print('territorio: ')
print(territorio)

Ejemplo, falta desarrolar tarea:

>>> 
tamaño de tablero[n,n]: 5
cantidad de minas:10
coordenada fila:2
coordenada columna:4
coordenada columna:3
reporte:  1
territorio: 
[[1 0 1 0 0]
 [1 1 1 0 1]
 [0 0 0 0 0]
 [0 0 0 1 1]
 [1 1 0 0 0]]