Java - Juego de las siete y media

 
Vista:

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Juego de las siete y media

Publicado por Kabuto (1381 intervenciones) el 08/11/2022 17:39:48
Te ayudo a comenzar el programa.
Este sería el esquema a seguir
Falta escribir el código en las parte donde lo indica el comentario
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
public class SieteYMedia {
 
	public static void main(String[] args) {
		Scanner teclado = new Scanner(System.in);
		Random azar = new Random();
 
		double banca = azar.nextInt(4) + 4; //Valor entre 4 y 7
		double jugador = 0;
		boolean continuar = true;
 
		while (continuar) {
			//Carta para el jugador
			int carta = azar.nextInt(12) + 1;
 
			//Analizar valor de la carta
			/*Falta codigo*/
 
			//Sumar valor a la variable jugador y mostrar los datos en pantalla
			/*Falta codigo*/
 
			//Comprobar si se pasa o si suma siete y medio (7.5), en cuyo caso bucle ha de terminar
			//Si no se ha pasado ni ha llegado a 7.5, preguntamos si quiere continuar
			if (jugador >= 7.5)
				continuar = false;
			else {
				System.out.print("Desea seguir (true-false): ");
				continuar = teclado.nextBoolean();
			}
		}
 
		/*
		 * Bucle cerrado, hay que comprobar resultado e informar en pantalla
		 * Si valor de jugador es > 7.5, se ha pasado y ha perdido
		 * Si valor de jugador es 7.5, solo gana si la banca es inferior. Banca gana si empatan en 7.5
		 * Si valor de jugador es < de 7.5, hay que comparar con valor de la banca para ver quien gana
		 */
			/*Falta codigo*/
 
		System.out.println("\n\t\tFIN DE PROGRAMA");
		teclado.close();
	}
 
 
}

Intenta realizar tú esas tres partes que faltan.
Empieza por analizar el valor de la carta.
Puedes usar un switch, pero con un IF con tres condiciones también puede resolverse.
Fíjate que para cartas con valor del 1 al 7, su valor es el que indica su número.
Para las cartas 8 y 9 (mayor que 7 y menor que 10) su valor es 0.
Y para 10, 11 y 12 (mayor que 9) su valor es 0.5

Inténtalo, comparte lo que consigas y te ayudamos a corregir/completar lo que sea.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Juego de las siete y media

Publicado por Nemesys (2 intervenciones) el 30/11/2022 17:44:38
Hola! Yo tengo una situación con el "DO WHILE". Me sucede que no responde correctamente a la condición del WHILE y se sale del bucle aunque jugador no sea mayor que 7.5
Alguna idea? Gracias.


do {
jugador = aleatorioJugador.nextInt(12) + 1;
suma +=jugador;


System.out.println("Has obtenido un " + jugador);

System.out.println("La suma total de tus cartas es : "+suma);

System.out.println("Deseas seguir (true-false): ");
seguir = teclado.nextBoolean();

} while (jugador > 7.5);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Juego de las siete y media

Publicado por Kabuto (1381 intervenciones) el 01/12/2022 00:04:16
1
while (jugador > 7.5);

"Hacer..... mientras jugador sea mayor que 7.5"

Es decir, el bucle solo se repetirá si jugador supera 7.5.
Si es igual o menor, el bucle terminará.

Creo que no has interpretado bien la condición que necesitas.
Lo que necesitas es "hacer .... mientras jugador sea menor que 7.5"

Así, cuando el jugador alcance 7.5 o lo supere, el bucle terminará
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Juego de las siete y media

Publicado por Nemesys (2 intervenciones) el 01/12/2022 20:35:06
Es cierto tienes razón, es que estaba con tanto lío en la cabeza que al final he terminado enredándome con lo simple.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Juego de las siete y media

Publicado por JasNoel (3 intervenciones) el 14/06/2023 23:56:31
Gracias por compartirlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Juego de las siete y media

Publicado por JasNoel (3 intervenciones) el 26/06/2023 22:57:13
He aquí algunas pautas que le ayudarán a empezar a desarrollar una aplicación. Diseño de la interfaz de usuario. Implementación del juego. Integración de gráficos y sonido. Modo multijugador. Pruebas y personalización. No olvides estudiar las reglas específicas del juego Las Siete y Media para asegurarte de que tu aplicación las refleja correctamente. Te aconsejo que busques ejemplos ya hechos en páginas web para familiarizarte mejor. Creo que este sitio es uno de los mejores en este sentido, aquí está https://chill-bet.mx/. ¡Buena suerte con tu proyecto de desarrollo de aplicaciones!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil

Juego de las siete y media

Publicado por JasNoel (3 intervenciones) el 14/06/2023 23:56:49
Una partida de Siete y Medio es un juego de cartas cuyo objetivo es conseguir una mano de cartas cuyo valor total sea lo más cercano posible a 7,5 sin pasarse. Este código utiliza la clase interna Card para representar cada carta del juego. Cada carta tiene un número y un palo. Se utilizan arrays para representar palos y números en la baraja española. El juego sigue la lógica de un juego de siete y medio, donde los valores de las cartas se suman para calcular el valor total de la mano. La sota, el caballo y el rey tienen un valor de 0,5. Practiqué este juego en https://sergioperez.mx/sitios-de-apuestas/, y así lo aprendí todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil

Juego de las siete y media

Publicado por ArliPrif (1 intervención) el 19/06/2023 16:27:01
Gracias por su mensaje
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Pippa

Juego de las siete y media

Publicado por Pippa (1 intervención) el 28/01/2024 21:03:59
gracias ha información interesante y útil
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar