3Eva_IIT2015~T3 Juego planta bombas

3ra Evaluación II Término 2015-2016, Febrero 2016 /FIEC

Tema 3. (40 puntos) Implemente las siguientes funciones:

a. colocarMinas(campo, cantidad, orientacion) que recibe un arreglo tipo matriz llamado campo , cantidad y orientación.  Luego, genere cantidad de minas de longitud 3 con orientación horizontal o vertical (dada por el parámetro correspondiente) y las coloque en posiciones aleatorias en el campo. Las minas se representan con números consecutivos entre 1 y cantidad. Las minas no pueden salirse del tablero ni intersectarse con otras minas.

El siguiente ejemplo representa un campo de 10×10, con 5 minas en orientación horizontal.

campo
4 4 4
1 1 1
.
.
.
3 3 3
.
.
5 5 5
2 2 2

b. avance(campo, puntoInicio, puntoFin) que recibe dos tuplas con coordenadas y retorna los puntos ganados (valor positivo) o perdidos (valor negativo) de acuerdo a las siguientes reglas:

  • Si el puntoFin en campo NO contiene una mina: todas las minas adyacentes a puntoInicio se destruyen y gana un punto por cada mina destruida.
  • Si el puntoFin en campo contiene una mina: la mina del puntoFin (solo esa) se destruye y el jugador pierde 3 puntos.

En el siguiente ejemplo, el usuario decide moverse del punto A al punto B, las minas en negritas serán eliminadas

campo
4 4 4
1 1 1
. A
. B
.
3 3 3
.
.
5 5 5
2 2 2

Con estas funciones escriba un programa que realice las siguientes tareas:

  • Crear el campo de 10×10
  • Colocar 5 minas en el campo horizontalmente
  • Generar aleatoriamente una posición original válida para el usuario. Esta posición es válida si está vacía y dentro del campo.
  • Pedir al usuario las coordenadas destino (fila,columna) y actualizar los puntos de acuerdo a las reglas listadas anteriormente.
  • El juego termina cuando el usuario destruye todas las minas o ingresa (‐1,‐1) como coordenadas de destino.
  • Al final debe mostrar cuántas casillas con minas destruyó, cuántos puntos acumuló, cuántas casillas con partes de una mina quedan en el tablero y cuántos tipos de minas quedan en el tablero.

Del ejemplo, el usuario destruyó 2 casillas con minas, hizo 2 puntos, existen 13 casillas con minas en el tablero y quedan 5 tipos de minas.


Referencia: 3Eva_IT2006_T4 Juego planta bombas (buscaminas)