Hoy voy a mostrarte la solución a un ejercicio en Python. Se trata de simular un tragamonedas para poder jugar a casino o ruleta y realizar apuestas, girando la ruleta al azar y trabajando con elementos aleatorios de Python.
Descripción del ejercicio
El ejercicio en cuestión dice así:
Elabore una solución computacional en Python para simular el funcionamiento de un tragamonedas. La situación a simular es un usuario que utiliza este tragamonedas e ingresa con un monto inicial de 50000 pesos para apostar. El usuario puede seleccionar entre 2 juegos distintos dentro de este tragamonedas: casino o ruleta.
Este tragamonedas debe:
- Permitir que cuando un usuario comience a usar el programa, se muestre el saldo actual del usuario, pueda seleccionar uno de los 2 juegos disponibles o salir del tragamonedas.
- Cuando comienza un juego (cualquiera) muestra el dinero disponible del usuario en ese momento, una síntesis de las reglas del juego, las opciones para participar en ese juego en específico y la opción de volver a la pantalla de selección de juegos (siempre tiene que ser posible volver a esta pantalla desde la pantalla de apuestas de cada juego).
- Recuerde que cuando se resuelve un juego, se tiene que volver a la pantalla inicial del juego en el que se está jugando en ese momento, para poder volver a apostar o salir al menú principal del tragamonedas.
La descripción de cada juego es la siguiente:
Casino
En este juego el usuario puede elegir cuánto dinero apostar inicialmente y luego elegir si girar la ruleta o modificar el monto a apostar.
Al girar la ruleta, se seleccionará al azar una de 5 alternativas previamente definidas y mostradas en pantalla entre: multiplicar la apuesta (x2), restar un porcentaje a la apuesta (50 %), ganar una cantidad fija (2000), perder una cantidad fija (2000) o perderlo todo.
La apuesta inicial no puede ser menor a 2000 pesos.
Ruleta
En ruleta se debe elegir el monto a apostar (mínimo 10000) y se puede apostar por:
- Un número y un color: Si se aciertan ambos número y color, la apuesta se multiplica por 10, si no se pierde la apuesta.
- Solo color: si se acierta el color, la apuesta se multiplica por 2, si no se pierde la apuesta
- Solo paridad y si se acierta entre las opciones de número par o impar, se ganan 15000, si no se pierde la apuesta.
Se deben permitir elegir números del 1 al 20, entre los colores negro y rojo, y entre las paridades, par o impar. El resultado será dado por lo que sucede (generado al azar) y lo que se apostó.
Si es que el usuario no tiene fundos suficientes para jugar un juego en específico, esto debe indicarse al momento de intentar apostar en ese juego y volver a la pantalla de selección de juegos (0 menú principal del tragamonedas).
Cuando el usuario sale del tragamonedas, debe mostrar con cuánto dinero salió de la máquina (la cantidad de dinero que le queda).
Código Python
Ahora que te mostré la descripción del ejercicio te muestro el código. Está un poco desordenado porque el programa solicitaba estructuras if anidadas y ciertos parámetros.
Al ejecutarlo, el juego funciona perfectamente:
Si tú quieres puedes probarlo en este enlace. También te dejo más ejercicios de programación en Python en mi blog.