Programación General > C/C++

 Crear Siete y media, no se por donde empezar!!!

(1/1)

Leito360:
Hola, consulta simple.
Para un trabajo de la facultad me pidieron crear un programa que simule el juego de cartas Siete y Media. Obviamente, no deben repetirse las cartas y debe ser para dos jugadores, se debe preguntar si quiere una carta o se planta.
El hecho es que no sé por dónde empezar. No pido que me hagan la tarea, sino que me den una pista  porque estoy completamente perdido. Se pueden usar arrays y structs.

Leber:
Hola,

Ahora mismo no recuerdo mucho el juego del siete y medio, solo se que las figuras valen 0.5 y las demás 1.
Puedes empezar por idear el algoritmo, algo como:


--- Código: C --- Dar cartaVerificar que la carta no es repetida ( La carta puede repetirse 4 veces, tantas como palos haya. Una solución es hacer un array de 10 enteros, e ir incrementando el valor de cada una de ellos cuando te salga. Si te han salido dos veces 5, el entero en la posición n5 -1 del array valdrá dos. Esto puedes usarlo para contrastar si ya has mostrado, por ejemplo, los 4 reyes) Si es repetido-Vuelves a dar cartaSino-Sigues con la jugadaSi carta >= 1 y carta <= 9 - Carta vale n puntos (si han puesto un 5, valdrà 5 )Sino (esto quiere decir que es de 10, 11 u 12)- Carta vale medio puntoSumar el valor a la suma actual  (esto es si en la 1 jugada teníamos un 6, y ahora nos ha salido un 12, sumamos 6 + 0.5)Preguntar al usuario si quiere carta 
Se puede mejorar bastante más, de hecho la forma de ver si es repetida no es la optima, pero bueno, para que vayas haciendo creo que sirve.

NOTA: La variable que guarda la suma actual de tus cartas debe ser un float.

Una vez acabada la jugada, es decir, cuando el usuario no quiere más cartas, pasamos al otro usuario, y cuando este también termina, procedemos a ver quien se ha quedado mas cerca del 7.5.

Una forma de descartar ya de entrada es ver si alguno de los dos se ha pasado de dicho valor. Esto es si el resultado de la suma de sus cartas es superior a 7.5, si es así ya no hace falta mirar mas.
Si ambos son inferiores, comparas a ver quien tiene el valor mas alto ( a > b ) ? a : b y ya tienes al ganador.

Espero haberte ayudado.

Saludos

ssaammuu:
Creo que únicamente tomar en cuenta si la carta ha salido 4 veces o no, no es una buena solución ya que la probabilidad de sacar un rey cuando quedan 4 no es la misma que cuando solo queda uno. Sería una buena idea controlar en todo momento las cartas que ya han salido/quedan. De esta forma la probabilidad de cada carta es más realística.

La verdad es que hay infinidad de formas de hacerlo... :)

Navegación

[0] Índice de Mensajes

Ir a la versión completa