Você está na página 1de 2

Facultad de Ingeniería Aeronáutica

Programación
Trabajo Final 18 % - Fecha origen: Octubre 16 de 2018
Fecha de entrega: 5 de noviembre de 2018 – 23:50 GMT-5
TRABAJO FINAL 2018 – 20 - DOMINÓ
Profesores:
Alvaro Ospina – Juan Vanegas – Mauricio Aristizábal
CONDICIONES ACEPTADAS POR EL ESTUDIANTE AL REALIZAR LA ENTREGA DEL TRABAJO:

1. El trabajo se debe realizar por máximo dos estudiantes (no tres, ni más) y se pueden unir estudiantes de
diferentes grupos de clase para formar la pareja.
2. La nota será individual, de acuerdo con lo evaluado en la sustentación oral, según lo demostrado por cada
integrante de lo realizado en el trabajo enviado.
3. El programa deberá ser enviado a prog.upb@gmail.com y al correo de su respectivo profesor para constatar la
hora de finalización del trabajo.
4. Deben existir funciones como jugador(), pc(), ganar(), mostrar_tablero(), entre otras.
5. Cualquier intento de fraude anula el trabajo (Nota: 0.0). Entiéndase como: funciones iguales entre parejas
diferentes (excepto aquellas funciones vistas en clase), trabajos realizados por otras personas, etc.
6. El programa no puede ser modificado después del 5 de noviembre a las 23:50 horas, fecha a la cual se deberá
enviar a los correos indicados, adjuntando el CÓDIGO FUENTE para que llegue a tiempo. (Asegúrese de adjuntar
el archivo antes de enviar el correo).
7. La fecha de la sustentación oral se informará vía correo electrónico, según la agenda indicada por la facultad.
8. No se pueden utilizar funciones de python NO vistas en clase a excepción de las funciones que generen
aleatorios.

DOMINÓ
Diseñe un programa para jugar Dominó contra la máquina bajo las siguientes condiciones:

1. La máquina jugará de manera “inteligente”, para que logre ganar el juego.


2. El domino tiene 28 fichas, partiendo de la [0-0] hasta la [6-6].
3. Se reparten al inicio del juego 7 fichas aleatoriamente tanto para el usuario (Usted) como para la
máquina; por lo tanto, al iniciar un juego quedan 14 fichas sin repartir.
4. El juego siempre lo inicia el usuario, luego juega la máquina y así sucesivamente.
5. Para representar el tablero se debe utilizar el modo texto, por ejemplo, podría ser:

[0 | 6] [6 | 6] [6 | 1] [1 | 2]

6. Después de cada jugada, se imprimirá el tablero y las fichas del usuario, para poder seleccionar
la ficha a jugar. Además, las opciones Tomar Ficha, Tapicú y Finalizar juego. Estas opciones
deben ser validadas, es decir, no se debe permitir tomar fichas si se tiene cómo jugar y no se puede
realizar tapicú si no se tienen las fichas válidas. La opción Finalizar juego, le suma una partida
perdida al usuario en el archivo score.dat y termina el juego (programa).
7. Cuando un jugador o la máquina, no tiene fichas “válidas” para jugar, deben tomar una ficha de
las que se encuentra sin repartir, de forma aleatoria. Si esta ficha tampoco es válida para jugar,
debe tomar otra hasta encontrar una válida, o hasta que se terminen las fichas por repartir,
momento en el cual deberá ceder el turno.
8. Ceder turno se realiza de forma automática y solo es permitido cuando no hay fichas sin repartir
2018 UPB Programación 1 de 2
(para arrastrar) y no hay una ficha válida para jugar. No se puede ceder el turno teniendo fichas
válidas para jugar.
9. El programa debe permitir hacer tapicú. Es decir, ubicar dos fichas de dobles ([2|2], [5|5], etc.) en
los extremos del tablero, en el mismo turno.
10. Cuando uno de los jugadores se quede sin fichas, gana la partida. El programa debe imprimir en
pantalla quién GANÓ (la máquina o el usuario). Además, debe regresar al menú principal y
actualizar el total de juegos ganados, perdidos y empatados por el jugador en un archivo llamado
score.dat. Dicho archivo debe ser actualizado cada vez que el jugador gane, pierda o empate y
podrá ser visualizado en la opción 1 (Score) del menú principal.
11. Cuando se han agotado las fichas sin repartir y ninguno de los jugadores tiene con qué jugar, el
juego se cierra y ganará el jugador que tenga el menor número de puntos acumulados en sus
fichas. Si el número de puntos acumulados es igual el programa deberá imprimir EMPATE y
actualizar el archivo score.dat.
12. El programa tendrá el siguiente menú:
1. Score
2. Jugar
3. Salir
13. La opción Score imprimirá el número de juegos ganados, perdidos y empatados por el usuario
desde la primera vez que se corrió el programa (datos almacenados en el archivo score.dat)
14. La opción Jugar permitirá al jugador iniciar su partida como se describió anteriormente.

2018 UPB Programación 1 de 2

Você também pode gostar