Programa del juego de la ruleta
Resuelto
DarkSniper
-
FiceA Mensajes publicados 38 Estado Miembro -
FiceA Mensajes publicados 38 Estado Miembro -
Hola a todos los ceros,
aquí está mi problema, con un amigo, queremos programar el juego de la ruleta (el que se encuentra en los casinos) en lenguaje python. El problema es que tenemos dificultades para estructurar nuestro programa porque hemos añadido una dificultad que es la elección del número de jugadores para la partida.
Les explico el programa que queremos crear:
Desarrollo de una partida: "Introducción":
-Se elige el número de jugadores
-Se asigna un nombre a cada jugador (ej: el 1º será jugador1, el 2º será jugador2,...)
-Luego se indica el monto de su cartera (ej: 1000€ cada uno)
-A continuación, la apuesta mínima así como la apuesta máxima
El juego (para hacer en bucle):
-Se le pide al jugador, uno a uno, que elija un número entre 0 y 36, luego el monto de su apuesta
-Cuando se han hecho las apuestas, el programa genera un número aleatorio entre 0 y 36
-Luego se muestra este número ganador, y para cada jugador, se muestran sus ganancias o pérdidas.
-Se muestra, además, el monto de su cartera (actualizado)
-Si hay una quiebra (es decir, si uno de los jugadores ya no tiene dinero en su cartera), la partida se detiene
-Por último, se pregunta si quieren hacer otra ronda o salir
Este es el programa que nos gustaría concebir.
Nos hemos inclinado por el uso de listas/arreglos con el uso del bucle For, que creo que es la manera más simple de hacer este programa. Pero teniendo algunas lagunas en el uso de estas listas/arreglos, decidimos pedirles un poco de ayuda.
Todas las ideas son bienvenidas, gracias de antemano por la ayuda que puedan aportar sobre este tema.
aquí está mi problema, con un amigo, queremos programar el juego de la ruleta (el que se encuentra en los casinos) en lenguaje python. El problema es que tenemos dificultades para estructurar nuestro programa porque hemos añadido una dificultad que es la elección del número de jugadores para la partida.
Les explico el programa que queremos crear:
Desarrollo de una partida: "Introducción":
-Se elige el número de jugadores
-Se asigna un nombre a cada jugador (ej: el 1º será jugador1, el 2º será jugador2,...)
-Luego se indica el monto de su cartera (ej: 1000€ cada uno)
-A continuación, la apuesta mínima así como la apuesta máxima
El juego (para hacer en bucle):
-Se le pide al jugador, uno a uno, que elija un número entre 0 y 36, luego el monto de su apuesta
-Cuando se han hecho las apuestas, el programa genera un número aleatorio entre 0 y 36
-Luego se muestra este número ganador, y para cada jugador, se muestran sus ganancias o pérdidas.
-Se muestra, además, el monto de su cartera (actualizado)
-Si hay una quiebra (es decir, si uno de los jugadores ya no tiene dinero en su cartera), la partida se detiene
-Por último, se pregunta si quieren hacer otra ronda o salir
Este es el programa que nos gustaría concebir.
Nos hemos inclinado por el uso de listas/arreglos con el uso del bucle For, que creo que es la manera más simple de hacer este programa. Pero teniendo algunas lagunas en el uso de estas listas/arreglos, decidimos pedirles un poco de ayuda.
Todas las ideas son bienvenidas, gracias de antemano por la ayuda que puedan aportar sobre este tema.
3 respuestas
```python
from random import randrange
class Joueur:
def __init__(self, nom, argent):
self.nom = str(nom)
self.argent = int(argent)
self.numero = 0
self.mise = 0
nbJoueurs = int(input("Nombre de joueurs : "))
joueurs = []
sargent = []
sargent_initial = input("Argent de départ : ")
for _ in range(nbJoueurs):
sargent.append(int(sargent_initial))
continuer_partie = True
while continuer_partie:
for x in range(nbJoueurs):
joueurs.append(Joueur(input(("Numero choisit du joueur " + str(x + 1) + " : ")), sargent[x]))
for x in range(nbJoueurs):
joueurs[x].mise = int(input("Mise du joueur " + str(x + 1) + " : "))
# Affichage du numero gagnant (aléatoirement)
numero_gagnant = randrange(1, 37)
print("La roulette tourne,...... tourne, ...... tourne, ...... tourne, et s'arrete sur le numero", numero_gagnant)
for x in range(nbJoueurs):
if joueurs[x].numero == numero_gagnant:
print("Felicitation, votre numero est le bon, vous obtenez ", joueurs[x].mise * 35, "euros!")
sargent[x] = sargent[x] + joueurs[x].mise * 35
else:
print("Desoler l'ami, c'est pas pour cette fois. Vous perdez votre mise qui est de", joueurs[x].mise, "euros")
sargent[x] = sargent[x] - joueurs[x].mise
# On interrompt la partie si le joueur est ruine
for x in range(nbJoueurs):
if sargent[x] <= 0:
print("Vous etes ruine! C'est la fin de la partie.")
continuer_partie = False
break
else:
# On affiche l'argent du joueur
print("Le joueur " + str(x + 1) + " a desormais", sargent[x], "euros")
quitter = input("Souhaitez-vous quitter le casino (o/n) ? ")
if quitter.lower() == "o":
print("Vous quittez le casino avec vos gains.")
continuer_partie = False
```
from random import randrange
class Joueur:
def __init__(self, nom, argent):
self.nom = str(nom)
self.argent = int(argent)
self.numero = 0
self.mise = 0
nbJoueurs = int(input("Nombre de joueurs : "))
joueurs = []
sargent = []
sargent_initial = input("Argent de départ : ")
for _ in range(nbJoueurs):
sargent.append(int(sargent_initial))
continuer_partie = True
while continuer_partie:
for x in range(nbJoueurs):
joueurs.append(Joueur(input(("Numero choisit du joueur " + str(x + 1) + " : ")), sargent[x]))
for x in range(nbJoueurs):
joueurs[x].mise = int(input("Mise du joueur " + str(x + 1) + " : "))
# Affichage du numero gagnant (aléatoirement)
numero_gagnant = randrange(1, 37)
print("La roulette tourne,...... tourne, ...... tourne, ...... tourne, et s'arrete sur le numero", numero_gagnant)
for x in range(nbJoueurs):
if joueurs[x].numero == numero_gagnant:
print("Felicitation, votre numero est le bon, vous obtenez ", joueurs[x].mise * 35, "euros!")
sargent[x] = sargent[x] + joueurs[x].mise * 35
else:
print("Desoler l'ami, c'est pas pour cette fois. Vous perdez votre mise qui est de", joueurs[x].mise, "euros")
sargent[x] = sargent[x] - joueurs[x].mise
# On interrompt la partie si le joueur est ruine
for x in range(nbJoueurs):
if sargent[x] <= 0:
print("Vous etes ruine! C'est la fin de la partie.")
continuer_partie = False
break
else:
# On affiche l'argent du joueur
print("Le joueur " + str(x + 1) + " a desormais", sargent[x], "euros")
quitter = input("Souhaitez-vous quitter le casino (o/n) ? ")
if quitter.lower() == "o":
print("Vous quittez le casino avec vos gains.")
continuer_partie = False
```
es el dinero de partida para todos los jugadores (s de start) que es un int.
Para acceder al dinero de uno de los jugadores, no debes hacer sino
Finalmente, con un objetivo de optimización, en lugar de
for x in range(0, nbJoueurs): jugadores.append(Jugador(input(("Número elegido del jugador "+str(x+1)+" : ")), sargent)) for x in range(0, nbJoueurs): jugadores[x].mise = int(input("Apuesta del jugador "+str(x+1)+" : "))mejor pon:
for x in range(0, nbJoueurs): jugadores.append(Jugador(input(("Número elegido del jugador "+str(x+1)+" : ")), sargent)) jugadores[x].mise = int(input("Apuesta del jugador "+str(x+1)+" : "))