Tarea 6 CC10A05 Computación I


14 de Noviembre 2001
Ultima Modificación: 17 de Noviembre 2001
Entrega: 3 de Diciembre 2001

Objetivos

Esta tarea busca ejercitar el diseño UML, herencia y la reutilización de código.

Tablero de Ajedrez

Se pide que implemente un tablero de ajedrez para jugar entre dos personas con todas las reglas propias del juego.

Para esto se les provee de un codigo base ajedrez.zip que contiene dos clases abstractas: Tablero y Pieza

Las piezas se crean heredando de la clase Pieza e implementando la funcion canMove(fila,columna) la cual verifica si la pieza se puede mover a la posicion fila, columna segun el tipo de pieza que es (rey, peon, torre, etc.). Como ejemplo se implementó la clase Torre. El juego debe heredar de la clase Tablero y debe implementar la funcion mover(Pieza,fila,columna). Esta funcion será invocada automaticamente sólo cuando se produzca la intención de hacer un movimiento válido de una pieza. Para analizar si el movimiento es válido, esta función utiliza la función canMove(fila,columna) que usted implementó para esa pieza.

Algunos hints de lo que debe hacer en esta función:

Un ejemplo de la tarea y el movimiento de una Torre esta en Ajedrez.java.

Imagenes de las piezas las podrá encontrar en Images.zip. La clase Pieza contiene ademas las siguientes funciones:

La clase Tablero contiene además las siguiente funciones:

la numeración de las filas y columnas va de 1 a 8, de izquierda a derecha y de arriba a abajo

Se pide: La implementación (código) y el diseño UML de la solución que incluya el diagrama de clases, el diagrama de estados y los casos de usos. El diseño UML lo deben dejar impreso (o hecho a mano) en la secretaría docente del DCC (Blanco Encalada 2120 piso 3)

Nota: Para utilizar las clases contenidas en ajedrez.zip, debe descomprimir su contenido en el mismo directorio donde esta desarrollando su tarea.

Evaluación

Diseño 30%
Código 70%

Las tareas que no compilen tienen máximo un 2 en la parte de código

Para alcanzar el 7, se debe implementar la detección de Jaque Mate

No se aceptarán entregas fuera de plazo.