You are on page 1of 1

LAB.

DE PROGRAMACIN PRACTICA 2 (EXAMEN DE

Martes 18 de Diciembre de 2001)


DPTO. LENGUAJES Y CIENCIAS DE LA COMPUTACIN
ESCCUELA TCNICA SUPERIOR DE INGENIEROS EN TELECOMUNICACIONES UNIVERSIDAD DE MLAGA

Nombre: Curso:

Cod. Ordenador: Profesor:

El Juego de la Oca. Se pretende implementar un programa que sea capaz de controlar los movimientos del conocido juego de la Oca. Las reglas que se utilizarn son las siguientes: Hay un tablero con 63 casillas. 2 jugadores con una ficha cada uno. El objetivo es llegar a la ltima casilla (63). Cada jugador tira el dado en su turno y mueve la ficha el nmero de casillas que indica el dado. Si el jugador cae en una casilla con la oca (8,13,18,23,28,33,38,43,48,53,58,63) pasa a la oca inmediatamente siguiente y vuelve a tirar. Si cae en otra de las casillas especiales, el jugador puede recibir la instruccin de perder uno o ms turnos, o avanzar o retroceder un nmero determinado de espacios: 1. 2. 3. 4. 5. Si cae en el nmero 6, el puente: pasa al siguiente puente situado en el nmero 12. Si cae en el nmero 19, la posada: pierde dos turnos. Si cae en el 42, el laberinto: retrocede al nmero 34 y permanece un turno sin tirar. Si cae en el 52, la crcel: debe estar tres turnos sin tirar. Si cae en el 57, la muerte: retrocede hasta el nmero 1.

La casilla final slo puede ser alcanzada con una tirada exacta. Un jugador que saque una cantidad ms elevada se ver obligado a retroceder el nmero de espacios equivalente al que ha excedido del final. Por ejemplo, si el jugador est en el nmero 60 y arroja un 5 debe avanzar hacia el final y luego retroceder hasta la casilla 61. El retroceso est sometido a todas las reglas del juego. Se pide implementar ese juego utilizando una lista (arrays) en la que slo se almacene la informacin del tablero de las casillas especiales mostradas anteriormente. Se recomienda para cada casilla especial guardar las informaciones siguientes (casilla destino, turnos para la siguiente tirada, texto a mostrar al usuario). Por ejemplo, para la oca de la casilla 8 se guardara (13,0,de oca a oca y tira por que te toca). para el puente 6 (12,1,de puente a puente) pues tirar en el prximo turno. Para cada jugador se guardar como informacin: (la casilla en la que se encuentra y el nmero de turnos hasta su prxima tirada). Posible Algoritmo de ejecucin: 1. Crear la lista con la informacin del tablero. Inicializar la posicin de los 2 jugadores a 0. 2. Un jugador tira el dado. (generar de forma aleatoria un valor entre 1 y 6). Su nueva posicin ser la posicin actual + el valor del dado. El nmero de turnos hasta la prxima tirada se pone a 1. 3. Si la casilla destino es la ltima, el juego termina y este jugador gana. (Si se pasa de 63 habr que calcular la nueva posicin como se explic antes) 4. Si la casilla es especial se va a la nueva casilla destino y se actualiza el nmero de turnos segn corresponda. ( Para ver si una casilla es especial habr que buscarla en la lista) 5. Se decrementa el nmero de turnos del siguiente jugador. Si su valor es 0 se vuelve al paso 1. Sino se vuelve al paso 3 con el siguiente jugador. NOTAS: 1. El fichero fuente de la prctica debe llamarse OBLIGATORIAMENTE OCA.CPP y el directorio de trabajo debe ser C:\TEMP\PRACTICA2\

1/1

You might also like