Está en la página 1de 3

Enunciado general de la práctica incremental

Implementar el juego de la 21. Este juego es jugado por 1 pareja y consiste en que
cada miembro de cada pareja va recibiendo cartas de forma aleatoria. La suma de los
números de cada carta se va sumando. Para ganar la suma final no debe superar 21 y
además la suma final del ganador tiene que estar más próxima a 21 que la de su
contrincante. Si al final del juego las sumas de las cartas de cada miembro de una
pareja son iguales la partida habrá terminado en empate. Si los dos jugadores tienen
más de 21 al finalizar la partida, ambos se considerarán perdedores. Así pues cada
jugador podrá seguir pidiendo carta hasta que se pase de 21 en cuyo caso habrá
perdido y no tendrá sentido seguir la partida.

Enunciado 3º Práctica Incremental

En este caso el programa va a simular una pareja de jugadores jugando varias


partidas a la vez. Así hay que implementar un programa que lea de teclado el número
n de partidas simultáneas que va a jugar la pareja de jugadores. A continuación se
leerá los nombres y primeros apellidos de los jugadores que conforman la pareja que
juega. Por cada partida se solicitará un número máximo de cartas que podrá elegir
cada miembro de la pareja, el número que se introduzca es el mismo para ambos
jugadores, es decir, lo puede introducir cualquiera de ellos. Así pues, son n números
máximos los que habrá que solicitar, uno por cada partida. Estos n números deberán
ser mayor o igual a uno, en caso de no ser así el sistema deberá solicitar al usuario
que introduzca de nuevo el dato hasta que cumpla dicha restricción.

Si el número n introducido es menor de 1, el sistema volverá a pedir dicho numero


hasta que el usuario introduzca un número n que sea mayor o igual a 1.

Se jugará cada partida de forma secuencial, es decir, primero se jugará la primera


partida y se decidirá cuál es el ganador, a continuación se jugará la segunda partida y
se decidirá el ganador y así sucesivamente hasta que se jueguen las n partidas. Los
ganadores de cada partida no se mostrarán en este momento, sino al finalizar las n
partidas.

Al comenzar cada partida deberá mostrarse el siguiente mensaje:

Comienza la partida x
siendo x el número de partida que se vaya a jugar. Al finalizar cada partida el único
mensaje que deberá aparecer será:

Finalizó la partido x

siendo x el número de partida que se haya jugado.

Para comenzar cada partida cada jugador podrá ir pidiendo cartas hasta que se
cumpla alguna de estas condiciones:

1. La suma total de sus cartas es 21 o superior.


2. El jugador decide plantarse.
3. Ya se han solicitado el número máximo de cartas introducido al principio.

Cada jugador tiene como obligación jugar al menos una carta. Una vez jugada cada
carta se preguntará a cada jugador si quieren jugar otra nueva carta siempre y
cuando no se cumpla alguna de las condiciones 1 y 3 de finalización comentadas
anteriormente. Si un jugador decide plantarse, el jugador contrario podrá seguir
jugando hasta que se cumpla alguna de las condiciones de finalización anteriores.

Cada carta (número aleatorio) generado se mostrará por pantalla mostrando sólo los
dos primeros decimales y mostrando el resultado de truncar dicho número a entero,
es decir, el número final que será lo que se considerará como carta para cada jugador.
Además deberá ir mostrando la suma parcial de las cartas ya aparecidas hasta ese
momento para el jugador. Resumiendo el programa deberá mostrar una vez generado
el número aleatorio, por ej. el 2.76837364, una frase como la siguiente:

Jugador 1: El número generado es: 2.76 y la carta para el jugador es la número 2.

La suma parcial hasta el momento es 12.

Una vez que el programa haya finalizado porque se cumpla alguna de las condiciones
enumeradas anteriormente, se hará la suma de cada una de ellas. El resultado final de
cada partida se se volcará a un fichero de acceso aleatorio para saber cuál ha sido el
ganador y perdedor en cada partida. El fichero de datos ya contiene datos de partidas
anteriores estos deberán conserva escribiendo a continuación de los datos ya
almacenados a modo de archivo log.
Los datos contenidos por el archivo tendrá el siguiente formato:

Partida número: x

Ganador: nombre apellido con sumatotalganador puntos

Perdedor: nombre apellido con sumatotalperdedor puntos

…...........

Así sucesivamente se mostrarán los resultados de todas las partidas, donde nombre y
apellido son los datos introducidos al principio por el jugador correspondiente. En caso
de empate sólo se mostrará el mensaje: “Se produjo un empate a n puntos”, donde n
será la suma total de puntos obtenidos por los dos jugadores. En caso de que ambos
jugadores hayan sobrepasado la cifra de 21 puntos, el sistema mostrará algo de la
forma: “Ambos jugadores han perdido por superar 21 puntos”.

Nota: Para la lectura de números aleatorios se utilizará el método random de la clase


Math: Math.random() que genera un número en el intervalo [0,1).

Condiciones de la entrega:

La fecha de entrega de la prácticas será la semana del 13 de Diciembre, cada grupo


de prácticas en su horario de prácticas habitual.

Se recuerda que los alumnos deberá defender en clase de prácticas el trabajo


realizado, siendo necesario que asistan ambos miembros de cada pareja de prácticas.
Igualmente es necesario recordar que es necesario que la documentación entregada
contenga análisis, diseño, manual de usuario y código fuente. Toda esta información
se subirá a través de moodle en un espacio habilitado para tal efecto, antes de la hora
de la defensa para que quede constancia de la entrega. Posteriormente a esta fecha
no se permitirá subir ningún otro documento. Toda la documentación deberá ir
comprimida en un único archivo con extensión .rar o .zip. Preferiblemente la
documentación debería ir en formato PDF y el código fuente en su correspondiente
archivo .java. Los archivo binarios .class no son necesarios ya que deberán generarse
de forma fácil siguiendo las instrucciones redactadas en el manual de usuario.

También podría gustarte