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,
2018 UPB Programación 1 de 2
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
(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.
Plazo de Entrega: No definido