0% encontró este documento útil (0 votos)
7 vistas2 páginas

Juego de Dados en C: Ronda 30 Puntos

El documento describe la implementación de un juego de dados en C para 1 a 3 jugadores, donde el objetivo es alcanzar 30 puntos sin excederlos. Los jugadores pueden tirar un dado o plantarse, y la ronda termina cuando todos se plantan o quedan eliminados. También se incluye un modo de juego automático para la máquina, junto con un menú principal para configurar la partida y validar las opciones del usuario.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
7 vistas2 páginas

Juego de Dados en C: Ronda 30 Puntos

El documento describe la implementación de un juego de dados en C para 1 a 3 jugadores, donde el objetivo es alcanzar 30 puntos sin excederlos. Los jugadores pueden tirar un dado o plantarse, y la ronda termina cuando todos se plantan o quedan eliminados. También se incluye un modo de juego automático para la máquina, junto con un menú principal para configurar la partida y validar las opciones del usuario.
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PRÁCTICA 3.

Estructuras repetitivas – Juego del 30

Desarrollar un programa en lenguaje C que implemente un juego de dados para entre 1 y 3


jugadores, cuyo objetivo es llegar lo más cerca posible a 30 puntos sin pasarse. En cada
turno, cada jugador podrá decidir si quiere:

• Tirar un dado (se genera un número aleatorio entre 1 y 6 que se suma a su puntuación),
• Plantarse (deja de tirar y conserva la puntuación que tenga hasta el final de la ronda).

Si un jugador se pasa de 30 puntos, queda eliminado de la partida. Cuando todos los jugadores
se hayan plantado o estén eliminados, la ronda termina y se determina el ganador:

• Gana el jugador con la mayor puntuación sin superar 30.


• Si todos se pasan de 30, no hay ganador (o se declara “ronda sin ganador”).

El programa también debe disponer de un modo en el que la máquina juegue sola utilizando
una estrategia sencilla.

Requisitos funcionales mínimos

1. Número de jugadores
o La partida debe permitir entre 1 y 3 jugadores humanos.
o El programa debe pedir un número entero y comprobar que está en ese rango.
o Si el número es incorrecto, debe pedirlo de nuevo hasta que sea válido.
2. Estructura de la ronda de juego (modo jugadores humanos)
o Cada jugador comienza la ronda con 0 puntos y en estado “jugando” (no
plantado ni eliminado).
o La ronda de juego se desarrolla por turnos, recorriendo los jugadores en orden
(jugador 1, jugador 2, …, último jugador, y vuelve al 1, etc.).
o En el turno de un jugador que aún siga en juego (no plantado y no eliminado),
se debe:
1. Mostrar su puntuación actual.
2. Preguntarle si quiere:
 Tirar dado (por ejemplo, opción T)
 Plantarse (por ejemplo, opción P)
3. Si tira dado:
 Se genera un número aleatorio entre 1 y 6.
 Se suma a su puntuación y se muestra el resultado.
 Si la puntuación supera 30, el jugador queda eliminado.
4. Si se planta:
 El jugador queda marcado como plantado y ya no seguirá
tirando en siguientes vueltas.
o La ronda termina cuando todos los jugadores estén plantados o eliminados.
o Al final de la ronda se mostrará:
 Puntuación final de cada jugador.
 Indicación de quién ha ganado (o si no ha habido ganador).
3. Modo “juega la máquina”
o El ordenador simulará una partida completa sin intervención del usuario,
siguiendo una estrategia simple para cada jugador.
o Se puede usar, por ejemplo, la siguiente estrategia:
 Mientras el jugador tenga menos de 24 puntos, tirar dado.
 Cuando tenga 24 puntos o más (pero ≤ 30), plantarse.
o La lógica del juego será la misma:
 1 a 3 jugadores (puedes fijar el número o leerlo por teclado).
 Recorriendo turnos hasta que todos estén plantados o eliminados.
o Se mostrarán por pantalla:
 Las decisiones de la máquina (tirar / plantarse).
 Las tiradas y puntuaciones.
 El resultado final de la partida.

4. Menú principal

Se aconseja organizar el programa con un menú principal que permita:

1. Configurar partida
o Establecer el número de jugadores humanos (entre 1 y 3).
2. Juegan humanos
o Inicia una ronda de juego con los parámetros configurados en la opción 1.
o No debe permitirse jugar si antes no se ha configurado un número de jugadores
válido.
3. Juega la máquina
o El ordenador simula una partida completa con la estrategia descrita.
o Tampoco debe permitirse si no se ha realizado primero una configuración
mínima (por ejemplo, el número de jugadores).
4. Salir
o Termina el programa.

El programa debe validar las opciones introducidas en el menú (si el usuario introduce una
opción incorrecta, se le debe volver a mostrar el menú).

NOTA: Generación de números aleatorios:

Para simular la tirada de un dado (valores entre 1 y 6):

#include <stdlib.h>
#include <time.h>
int main() {
int dado;
srand((unsigned) time(NULL));
dado = rand() % 6 + 1;
}

Material a entregar

• Fichero con el programa fuente en formato .c.


• El nombre del fichero deberá contener el texto Practica3 y los apellidos y nombre del
alumno.
• En las primeras líneas del código (en forma de comentario) deben constar los datos del
autor (nombre, apellidos, grupo, etc.).

También podría gustarte