Autor
|
Tema: [Duda] Juego BlackJack python (Leído 6,453 veces)
|
SrVamp
|
Hola usuarios de elhacker.net tengo que hacer el juego del blackjack en python. De momento, ya he pensado como hacerlo pero a la hora de pasarlo a codigo tengo un problema a la hora de sacar una carta aleatoriamente de la baraja(definida como lista), no se como hacerlo.Espero que alguien puede ayudarme. Muchas Gracias. Un saludo
|
|
|
En línea
|
|
|
|
xassiz~
|
Prueba con la clase random
|
|
|
En línea
|
|
|
|
The_Mushrr00m
Desconectado
Mensajes: 163
"Don't worry, be Hacked........"
|
postea tu code o parte de el para ver que te falta o donde estas equivocado..! o acaso quieres que te pasemos un code ya hecho
|
|
|
En línea
|
«No hay camino para la verdad, la verdad es el camino»
|
|
|
fallout20xx
Desconectado
Mensajes: 53
|
Sin saber de que va, si me dices que tus cartas estan en una lista podrias hacer esto: import random lista = ['AS', '2', '3', '4', '5','6','7', 'Sota', 'Caballo', 'Rey'] print lista[random.randrange(0, len(lista)-1)] el modulo random es para hacer cosas aleatorias, en particular random.randrange soporta que le digas desde que numero hasta que numero quieres que el elija uno de manera aleatoria, por ejemplo si quieres un numero del 20 al 6000 seria: import random print random.randrange(20, 6000) lo que hago yo en el codigo que te pongo es decirle que quiero un numero desde 0 que seria el primer valor de la lista, hasta len(lista) que es el numero de registros que tiene la lista, pero como el contador de la lista empieza desde 0 y no desde 1 hay que quitarle 1 para que el random nunca devuelva 10, que seria el numero de elementos que tiene la lista, pero el contador de la lista va desde el 0 hasta el 9 (10 elementos). al usar este numero aleatorio como marcador en la lista, lo que me devuelve es, de hecho, una carta aleatoria. un saludo
|
|
|
En línea
|
si disfrutas siempre que programas... significa que aun no has programado suficiente xD
|
|
|
SrVamp
|
He intentado hacerlo asi, pero me da ciertos problemas, aver si me podeís ayudar El codigo es: import random banca=[11,11,11,11,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10] mano1=random.randint(0,51) mano2=random.randint(0,51) mano3=random.randint(0,51) mano4=random.randint(0,51) mano5=random.randint(0,51) mano6=random.randint(0,51) mano7=random.randint(0,51) mano8=random.randint(0,51) mano9=random.randint(0,51) mano10=random.randint(0,51) mano11=random.randint(0,51) banca1=random.randint(0,51) banca2=random.randint(0,51) banca3=random.randint(0,51) banca4=random.randint(0,51) banca5=random.randint(0,51) banca6=random.randint(0,51) banca7=random.randint(0,51) banca8=random.randint(0,51) banca9=random.randint(0,51) banca10=random.randint(0,51) banca11=random.randint(0,51) hand=banca[mano1]+banca[mano2] srmalo=banca[banca1]+banca[banca2]
print("En tu mano tienes " + str(hand))
pregunta1=int(input("Quieres mas cartas? 1 si la respuesta es si y si es no escribe 0")) if pregunta1 == 0: if srmalo<=17: srmalo=banca[banca1]+banca[banca2]+banca[banca3] if srmalo<=17: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4] if srmalo<=17: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5] if srmalo<=17: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6] if srmalo<=17: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7] if srmalo<=17: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7]+banca[banca8] if srmalo<=17: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7]+banca[banca8]+banca[banca9] if srmalo<=17: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7]+banca[banca8]+banca[banca9]+banca[banca10] if srmalo<=17: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7]+banca[banca8]+banca[banca9]+banca[banca10]+banca[banca11]
if pregunta1 == 0: if (hand<=21) and ((srmalo>hand) and srmalo>22): print("La banca tiene " + str(srmalo)) print("Has ganado") else: print("La banca tiene " + str(srmalo)) print("Has perdido")
if pregunta1 == 1: hand=banca[mano1]+banca[mano2]+banca[mano3] print("En tu mano tienes " + str(hand)) pregunta2=int(input("Quieres mas cartas? 1 si la respuesta es si y si es no escribe 0")) if pregunta2 == 0: if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7]+banca[banca8] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7]+banca[banca8]+banca[banca9] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7]+banca[banca8]+banca[banca9]+banca[banca10] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7]+banca[banca8]+banca[banca9]+banca[banca10]+banca[banca11]
if pregunta2 == 0: if (hand<=21) and ((srmalo>hand) and srmalo>22): print("La banca tiene " + str(srmalo)) print("Has ganado") else: print("La banca tiene " + str(srmalo)) print("Has perdido")
if pregunta2 == 1: hand=banca[mano1]+banca[mano2]+banca[mano3] print("En tu mano tienes " + str(hand)) pregunta3=int(input("Quieres mas cartas? 1 si la respuesta es si y si es no escribe 0")) if pregunta3 == 0: if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7]+banca[banca8] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7]+banca[banca8]+banca[banca9] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7]+banca[banca8]+banca[banca9]+banca[banca10] if srmalo>21: srmalo=banca[banca1]+banca[banca2]+banca[banca3]+banca[banca4]+banca[banca5]+banca[banca6]+banca[banca7]+banca[banca8]+banca[banca9]+banca[banca10]+banca[banca11]
if pregunta3 == 0: if (hand<=21) and ((srmalo>hand) and srmalo>22): print("La banca tiene " + str(srmalo)) print("Has ganado") else: print("La banca tiene " + str(srmalo)) print("Has perdido")
Si sabeís como remediarlo o una forma más sencilla de hacer el blackjack se agradecería una ayudica. Un Saludo Muchas Gracias
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Juego Python
« 1 2 »
Scripting
|
SirLanceCC
|
11
|
8,884
|
11 Julio 2006, 23:27 pm
por Division-x
|
|
|
Juego de la vida en Python
Scripting
|
SirLanceCC
|
1
|
6,322
|
9 Diciembre 2006, 14:39 pm
por SirLanceCC
|
|
|
Juego ejercicios [Python]
« 1 2 ... 15 16 »
Ejercicios
|
Masita
|
150
|
110,461
|
30 Mayo 2011, 20:44 pm
por caro.bello
|
|
|
Necesito realizar un algoritmo del juego blackjack
Programación General
|
uffje_15
|
2
|
5,623
|
7 Marzo 2013, 16:56 pm
por 1mpuls0
|
|
|
Juego de BlackJack en C
Programación C/C++
|
AlbertoBSD
|
1
|
10,893
|
28 Abril 2016, 06:24 am
por AlbertoBSD
|
|