You are on page 1of 5

Universidad de los Andes Ingeniera de Sistemas y Computacin ISIS1204 Algortmica y Programacin Orientada a Objetos 1 Evaluacin escrita nivel 6

Nombre: Cdigo: Profesor:

EVALUACION INDIVIDUAL NO se permite el uso de ningn tipo de material, ni elementos de comunicacin fsicos o electrnicos. Tiempo total disponible es de 90 minutos. El examen consta de 4 ejercicios que hay que responder en las zonas marcadas. En anexo encuentra una hoja en blanco como hoja de borrador. Modelo del Mundo de Base del Ejercicio BuscaMinas

public class CampoMinado { /** * Definicin del tamao el campo minado. */ private int filas; private int columnas; /** * Matriz de distribucin de las minas donde para * cada casilla su estado es MINADA o NO_MINADA */ private Casilla [ ][ ] casillasCampoMinado; /** * Matriz con el estado de juego de las casillas. * El estado de cada casilla puede ser TAPADA, * DESTAPADA, MARCADA, MAL_MARCADA, * ESTALLADA. */ private Casilla [ ][ ] casillasJugadas; }

public class Casilla { /** * Definicin de los estados posibles de una * casilla al iniciar el juego. */ public final static int NO_MINADA = 0; public final static int MINADA = 1; /** * Definicin de los estados posibles de una * casilla durante el juego. */ public final static int TAPADA = 10; public final static int DESTAPADA = 11; public final static int MARCADA = 12; public final static int MAL_MARCADA = 13; public final static int ESTALLADA = 14; // estado private int estado; // consulta del estado de la casilla public int darEstado( );

1. [30%] Resolver el problema de contar en el campo minado el nmero de casillas con mina que el jugador ha marcado. La solucin es un mtodo de la clase CampoMinado.
/** * Cuenta el nmero de casillas en el campo minado que tienen mina y se encuentran marcadas. * pre: casillasCampoMinado != null y cada casilla con estado NO_MINADA o MINADA. * casillasJugadas != null y cada casilla con estado TAPADA, DESTAPADA o MARCADA. * @return nmero de casillas minadas y marcadas. */ (a) Diga el nombre del patrn de recorrido utilizado para resolver el problema: ______________________________ (b) Escriba el mtodo de solucin de forma que cumpla el contrato propuesto:

2. [30%] Resolver el problema de saber si hay al menos una casilla con mina ESTALLADA en el campo minado. La solucin es un mtodo de la clase CampoMinado.
/** * Resuelve la consulta de si existe al menos una casilla con mina ESTALLADA en el campo minado. * pre: casillasCampoMinado != null y cada casilla con estado NO_MINADA o MINADA. * casillasJugadas != null y cada casilla con estado TAPADA, DESTAPADA, MARCADA o ESTALLADA. * @return true si se encontr al menos una mina ESTALLADA; false en caso contrario. */

(a) Diga el nombre del patrn de recorrido utilizado para resolver el problema: ______________________________ (b) Escriba el mtodo de solucin de forma que cumpla el contrato propuesto:

3. [30%] Resolver el problema de contar en el campo minado las casillas an por jugar (TAPADAS) en una columna dada. La solucin es un mtodo de la clase CampoMinado.
/** * Cuenta el nmero de casillas an por jugar (TAPADAS) en una columna del campo minado. * pre: casillasCampoMinado != null y cada casilla con estado NO_MINADA o MINADA. * casillasJugadas != null y cada casilla con estado TAPADA, DESTAPADA o MARCADA. * @param columna a revisar; 0 columna < columnas * @return nmero de casillas TAPADAS en la columna de consulta. */

(a) Diga el nombre del patrn de recorrido utilizado para resolver el problema: ______________________________ (b) Escriba el mtodo de solucin de forma que cumpla el contrato propuesto:

4. [10%] El juego del buscaminas debe iniciar el Modelo del Mundo a partir del archivo de propiedades con nombre C:\Java-Programs\n6_buscaminas\data\buscaminas.propiedades cuyo contenido es:
buscaminas.filas=9 buscaminas.columnas=7 buscaminas.minas=10

Para el mtodo de la clase CampoMinado que tiene la siguiente signatura public void cargarInfoBasicaBuscaminas( )
(a) Escriba el conjunto de instrucciones (incluye la definicin de variables temporales) que permiten crear un objeto de la clase Properties con el contenido de las propiedades definidas en el archivo. NO es necesario realizar el tratamiento de excepciones.

(b) Continue las instrucciones del punto anterior para obtener el nmero de columnas definido en la propiedad correspondiente. El valor debe quedar en el atributo columnas de tipo entero.

You might also like