Juego de las siete y media
Publicado por laura (2 intervenciones) el 08/11/2022 01:23:51
Estamos pensando en desarrollar una aplicación para simular el juego de naipes conocido como "Las Siete y Media". El objetivo del juego consiste en sumar puntos hasta conseguir 7,5 puntos y medio solicitando cartas, pero "SIN PASARSE" y se emplea la baraja española de cartas.
En este juego cada naipe de la baraja tiene un valor, que es el siguiente:
Valor de los naipes en el juego "Siete y Media"
Naipe Puntuación
As (1) 1 puntos
Dos (2) 2 puntos
Tres (3) 3 puntos
Cuatro (4) 4 puntos
Cinco (5) 5 puntos
Seis (6) 6 puntos
Siete (7) 7 puntos
Sota (10) 0,5 puntos
Caballo (11) 0,5 puntos
Rey (12) 0,5 puntos
Resto de cartas (8 y 9) 0 puntos- No cuentan
NOTA: Para el valor de la banca se generará un valor entre 4 y 7,5 (este código para generar dicho valor vendrá dado en el proyecto base).
Escribe un programa en Java que genere números aleatorios entre 1 y 12, estos números serán evaluados para calcular su puntuación acorde con la tabla anterior, y sumadas a un acumulador.
En cada iteración de nueva carta se deberá mostrar el tipo de carta obtenida y se mostrará la suma acumulada tras sumar la nueva carta obtenida.
Tras dicha suma se deberá preguntar al usuario (si su suma acumulada aun es inferior al tope sin pasarse, es decir inferior a 7,5 puntos), si desea una nueva carta. Esta consulta deberá preguntar mediante un booleano si desea seguir.
Si desea seguir se repetirá el proceso de generar una nueva carta,
Si no desea seguir saldremos del bucle.
Una vez "Plantados" o "Pasados", se deberá comprobar quién ha ganado comparando el valor obtenido por la banca al principio del juego, o el propio jugador. Ganará el que más se aproxime a 7,5 puntos sin pasarse, en caso de empate a puntos "gana la banca".
Ten en cuenta que en este programa:
se deberá algún tipo de bucle apropiado para ir generando sucesivamente números ("cartas") y comprobar si se desea seguir;
se valorará que se minimice el número de líneas.
las únicas clases y objetos que puedes usar en el programa son System, Random y Scanner, junto con sus métodos, que utilizamos para la E/S por consola, y generación de números aleatorios. Aparte de estas, no puedes usar ninguna otra clase, objeto o método, ni de la API de Java ni propio, para resolver el ejercicio;
Se deberán presentar los resultados como aparecen en los ejemplos de ejecución.
Se deberán utilizar estructuras de control if/else o/y if/elseif/else , pudiendose utilizar también el operador ternario visto en la unidad anterior, siempre y cuando su simplicidad mejore la estructura del programa.
El código deberá incluir diferentes tipos de comentarios internos tanto de una línea como multilínea (los comentarios JavaDoc no son necesarios)
Recuerda que para obtener un número aleatorio utilizamos la clase Random, para ello definimos un objeto de esta clase Random aleatorio =new Random(); , y posteriormente se utiliza el método aleatorio.nextInt() o aleatorio.nextInt(int límite). El primero de ellos entre 0 y 232, y el segundo entre 0 y el límite -1.
Ejemplo:
Random aleatorio =new Random();
int numAleatorio=aleatorio.nextInt(20); // Genera un número entre 0 y 19.
numAleatorio=1 + aleatorio.nextInt(20) // Genera un número entre 1 y 20.
Partida en la que GANA el JUGADOR, con una sola carta jugada por obtener mayor puntuación sin pasarse de 7.5
Ejercicio 4. Juego Siete y Media
----------------------------------------------------
La banca ha jugado, hasta donde te atreves a apostar
JUEGO
---------
Ha obtenido 6
La suma total de sus cartas es: 6.0
Desea seguir (true-false)
false
RESULTADO
---------
Has ganado: banca(4.5) vs (6.0) jugador
Partida en la que PIERDE el JUGADOR por pasarse, con dos cartas jugadas. (La banca nunca se pasa tal y como está programado).
Ejercicio 4. Juego Siete y Media
----------------------------------------------------
La banca ha jugado, hasta donde te atreves a apostar
JUEGO
---------
Ha obtenido 5
La suma total de sus cartas es: 5.0
Desea seguir (true-false)
true
Ha obtenido 6
La suma total de sus cartas es: 11.0
RESULTADO
---------
Ha ganado la banca, te has pasado
Partida en la que GANA el JUGADOR, con varias cartas jugadas, una de ellas sin valor (no cuenta para el conteo), obteniendo el jugador mayor número de puntos sin pasarse de 7.5
Ejercicio 4. Juego Siete y Media
----------------------------------------------------
La banca ha jugado, hasta donde te atreves a apostar
JUEGO
---------
Ha obtenido Carta sin valor (0)
La suma total de sus cartas es: 0.0
Desea seguir (true-false)
true
Ha obtenido 2
La suma total de sus cartas es: 2.0
Desea seguir (true-false)
true
Ha obtenido Una figura (0.5)
La suma total de sus cartas es: 2.5
Desea seguir (true-false)
true
Ha obtenido 4
La suma total de sus cartas es: 6.5
Desea seguir (true-false)
false
RESULTADO
---------
Has ganado: banca(4.0) vs (6.5) jugador
Partida en la que PIERDE el JUGADOR, por obtener menos puntuación que la banca con una carta jugada.
Ejercicio 4. Juego Siete y Media
----------------------------------------------------
La banca ha jugado, hasta donde te atreves a apostar
JUEGO
---------
Ha obtenido 4
La suma total de sus cartas es: 4.0
Desea seguir (true-false)
false
RESULTADO
---------
Ha ganado la banca: banca(6.5) vs (4.0) jugador
Partida en caso de empate con la banca, PIERDE el JUGADOR, con varias cartas jugadas.
Ejercicio 4. Juego Siete y Media
----------------------------------------------------
La banca ha jugado, hasta donde te atreves a apostar
JUEGO
---------
Ha obtenido 4
La suma total de sus cartas es: 4.0
Desea seguir (true-false)
true
Ha obtenido 1
La suma total de sus cartas es: 5.0
Desea seguir (true-false)
true
Ha obtenido Una figura (0.5)
La suma total de sus cartas es: 5.5
Desea seguir (true-false)
false
RESULTADO
---------
Ha ganado la banca: banca(5.5) vs (5.5) jugador
Como paso todo esto a codigo en java???
gracias
En este juego cada naipe de la baraja tiene un valor, que es el siguiente:
Valor de los naipes en el juego "Siete y Media"
Naipe Puntuación
As (1) 1 puntos
Dos (2) 2 puntos
Tres (3) 3 puntos
Cuatro (4) 4 puntos
Cinco (5) 5 puntos
Seis (6) 6 puntos
Siete (7) 7 puntos
Sota (10) 0,5 puntos
Caballo (11) 0,5 puntos
Rey (12) 0,5 puntos
Resto de cartas (8 y 9) 0 puntos- No cuentan
NOTA: Para el valor de la banca se generará un valor entre 4 y 7,5 (este código para generar dicho valor vendrá dado en el proyecto base).
Escribe un programa en Java que genere números aleatorios entre 1 y 12, estos números serán evaluados para calcular su puntuación acorde con la tabla anterior, y sumadas a un acumulador.
En cada iteración de nueva carta se deberá mostrar el tipo de carta obtenida y se mostrará la suma acumulada tras sumar la nueva carta obtenida.
Tras dicha suma se deberá preguntar al usuario (si su suma acumulada aun es inferior al tope sin pasarse, es decir inferior a 7,5 puntos), si desea una nueva carta. Esta consulta deberá preguntar mediante un booleano si desea seguir.
Si desea seguir se repetirá el proceso de generar una nueva carta,
Si no desea seguir saldremos del bucle.
Una vez "Plantados" o "Pasados", se deberá comprobar quién ha ganado comparando el valor obtenido por la banca al principio del juego, o el propio jugador. Ganará el que más se aproxime a 7,5 puntos sin pasarse, en caso de empate a puntos "gana la banca".
Ten en cuenta que en este programa:
se deberá algún tipo de bucle apropiado para ir generando sucesivamente números ("cartas") y comprobar si se desea seguir;
se valorará que se minimice el número de líneas.
las únicas clases y objetos que puedes usar en el programa son System, Random y Scanner, junto con sus métodos, que utilizamos para la E/S por consola, y generación de números aleatorios. Aparte de estas, no puedes usar ninguna otra clase, objeto o método, ni de la API de Java ni propio, para resolver el ejercicio;
Se deberán presentar los resultados como aparecen en los ejemplos de ejecución.
Se deberán utilizar estructuras de control if/else o/y if/elseif/else , pudiendose utilizar también el operador ternario visto en la unidad anterior, siempre y cuando su simplicidad mejore la estructura del programa.
El código deberá incluir diferentes tipos de comentarios internos tanto de una línea como multilínea (los comentarios JavaDoc no son necesarios)
Recuerda que para obtener un número aleatorio utilizamos la clase Random, para ello definimos un objeto de esta clase Random aleatorio =new Random(); , y posteriormente se utiliza el método aleatorio.nextInt() o aleatorio.nextInt(int límite). El primero de ellos entre 0 y 232, y el segundo entre 0 y el límite -1.
Ejemplo:
Random aleatorio =new Random();
int numAleatorio=aleatorio.nextInt(20); // Genera un número entre 0 y 19.
numAleatorio=1 + aleatorio.nextInt(20) // Genera un número entre 1 y 20.
Partida en la que GANA el JUGADOR, con una sola carta jugada por obtener mayor puntuación sin pasarse de 7.5
Ejercicio 4. Juego Siete y Media
----------------------------------------------------
La banca ha jugado, hasta donde te atreves a apostar
JUEGO
---------
Ha obtenido 6
La suma total de sus cartas es: 6.0
Desea seguir (true-false)
false
RESULTADO
---------
Has ganado: banca(4.5) vs (6.0) jugador
Partida en la que PIERDE el JUGADOR por pasarse, con dos cartas jugadas. (La banca nunca se pasa tal y como está programado).
Ejercicio 4. Juego Siete y Media
----------------------------------------------------
La banca ha jugado, hasta donde te atreves a apostar
JUEGO
---------
Ha obtenido 5
La suma total de sus cartas es: 5.0
Desea seguir (true-false)
true
Ha obtenido 6
La suma total de sus cartas es: 11.0
RESULTADO
---------
Ha ganado la banca, te has pasado
Partida en la que GANA el JUGADOR, con varias cartas jugadas, una de ellas sin valor (no cuenta para el conteo), obteniendo el jugador mayor número de puntos sin pasarse de 7.5
Ejercicio 4. Juego Siete y Media
----------------------------------------------------
La banca ha jugado, hasta donde te atreves a apostar
JUEGO
---------
Ha obtenido Carta sin valor (0)
La suma total de sus cartas es: 0.0
Desea seguir (true-false)
true
Ha obtenido 2
La suma total de sus cartas es: 2.0
Desea seguir (true-false)
true
Ha obtenido Una figura (0.5)
La suma total de sus cartas es: 2.5
Desea seguir (true-false)
true
Ha obtenido 4
La suma total de sus cartas es: 6.5
Desea seguir (true-false)
false
RESULTADO
---------
Has ganado: banca(4.0) vs (6.5) jugador
Partida en la que PIERDE el JUGADOR, por obtener menos puntuación que la banca con una carta jugada.
Ejercicio 4. Juego Siete y Media
----------------------------------------------------
La banca ha jugado, hasta donde te atreves a apostar
JUEGO
---------
Ha obtenido 4
La suma total de sus cartas es: 4.0
Desea seguir (true-false)
false
RESULTADO
---------
Ha ganado la banca: banca(6.5) vs (4.0) jugador
Partida en caso de empate con la banca, PIERDE el JUGADOR, con varias cartas jugadas.
Ejercicio 4. Juego Siete y Media
----------------------------------------------------
La banca ha jugado, hasta donde te atreves a apostar
JUEGO
---------
Ha obtenido 4
La suma total de sus cartas es: 4.0
Desea seguir (true-false)
true
Ha obtenido 1
La suma total de sus cartas es: 5.0
Desea seguir (true-false)
true
Ha obtenido Una figura (0.5)
La suma total de sus cartas es: 5.5
Desea seguir (true-false)
false
RESULTADO
---------
Ha ganado la banca: banca(5.5) vs (5.5) jugador
Como paso todo esto a codigo en java???
gracias
Valora esta pregunta


0