Evaluando propuestas

Proyecto Domino

Publicado el 04 Noviembre, 2018 en Programación y Tecnología

Sobre este proyecto

Abierto

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.

Categoría Programación y Tecnología
Subcategoría Programación Web
¿Cuál es el alcance del proyecto? Cambio mediano
¿Es un proyecto o una posición? Un proyecto
Actualmente tengo Tengo las especificaciones
Disponibilidad requerida Según se necesite
Integraciones de API Otros (Otras APIs), Cloud Storage (Dropbox, Google Drive, etc.), Social media (Facebook, Twitter, etc.)
Roles necesarios Programador, Diseñador, Analista funcional

Plazo de Entrega: No definido

Habilidades necesarias