Facultad de Ingeniera - Universidad De La Repblica
Consejo de Educacin Tcnico Profesional Pgina 1
Primer Obligatorio Principios de Programacio n 2014 Descripcin El propsito de esta tarea obligatoria es que el estudiante realice un programa en C/C++ que implemente el juego Memoria (http://es.wikipedia.org/wiki/Memoria_(juego)).
El juego consiste de un tablero de fichas representado mediante una cuadrcula, como el que se presenta a continuacin:
1 2 3 4 5 6 7 8 9 10 1 X X X X X X X X X X 2 X X X X X X X X X X 3 X X X X X X X X X X 4 X X X X X X X X X X 5 X X X X X X X X X X 6 X X X X X X X X X X 7 X X X X X X X X X X 8 X X X X X X X X X X 9 X X X X X X X X X X 10 X X X X X X X X X X
Donde 'X' representa una ficha boca abajo. El objetivo del juego consiste en encontrar 2 fichas iguales. En cada turno un jugador elegir dos fichas que desee dar vuelta, si ambas son iguales entonces el jugador sumar un punto y las fichas quedarn visibles, en caso que sean distintas se vuelven a ocultar. El juego termina cuando no hay ms fichas para dar vuelta y gana el jugador que tenga ms puntos sumados.
Algunos puntos a tener en cuenta: El juego debe permitir elegir quin empieza. Al inicio del juego el usuario debe indicar las dimensiones del tablero, esta debe ser correcta de caso contrario se indica el error y se solicita que se ingrese nuevamente. Se deben generar tableros distintos para cada partida. Cada vez que se modifica el tablero se debe mostrar en pantalla, y adems se debe indicar la ltima jugada realizada. Cuando haya un ganador se debe indicar inmediatamente y terminar el programa. Si el jugador ingresa una casilla no vlida (fuera del tablero), se debe indicar el error y volver a solicitar el ingreso. Si el usuario ingresa como jugada una casilla llena se debe mostrar el error y volver a solicitar el ingreso.
Facultad de Ingeniera - Universidad De La Repblica Consejo de Educacin Tcnico Profesional Pgina 2
Se pide Implementar un programa en C/C++ que implemente lo que se describe anteriormente.
Restricciones 1. Para la entrada y salida de datos solamente se podr utilizar las funciones scanf, printf, getchar y putchar. 2. No esta permitido el uso de funciones de C++ que no se hallan visto en el curso. Se valorara adems de la lgica correcta, la utilizacin de un buen estilo de programacin de acuerdo a los criterios impartidos en el curso. Se har nfasis en buenas practicas de programacin como: Identacin Utilizacin correcta de las estructuras de control Algoritmos razonablemente eficientes Uso de comentarios Uso de constantes Uso de nombre nemotcnicos
Formas y Plazos de entrega El obligatorio se realizara en grupos de 2 estudiantes que debe ser enviado por mail a su docente antes del 10 de Mayo. El plazo de entrega del mismo es el 01 deJunio hasta las 23:59. No se aceptarn entregas fuera del plazo establecido.