Programa

Este es el programa que hicimos.

from pylab import * from random import choice as rc # importa la libreria random
 * 1) Cristian Chau 11293
 * 2) Enrique Fernandez 11255
 * 3) 12 de abril del 2011
 * 4) El proposito es hacer un juego de blackjack

def total(mano): aces = mano.count(11) t = sum(mano) if t > 21 and aces > 0: while aces > 0 and t > 21: t -= 10 aces -= 1 return t
 * 1) cuenta la cantidad de As
 * 1) esto complica la cosa, ya que el As puede ser 11 y 1, dependiendo
 * 2) de que se necesite, aqui se evalua para mejor conveniencia
 * 1) Se pasó de 21 pero hay un As
 * 1) Esto lo cambia de 11 a 1

def graficas(jugador1g,jugador2g):

labels = ["jugador1", "jugador2"] data = [ jugador1g ,jugador2g ] #datos a graficar xlocations = array(range(len(data)))+0.5 #arreglo para eje x width = 0.5 bar(xlocations, data, width=width) xticks(xlocations+ width/2, labels) #donde quedan las etiquetas eje x xlim(0, xlocations[-1]+width*2) title("Puntaje")
 * 1) grafica de barras

show

cartas = [2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10, 11] cartas2 = [2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10, 11] jugador1 = True jugador2 = True conteo = True
 * 1) Conjunto de cartas para cada jugador

jugador1g = 0 # contador para jugador 1 jugador2g = 0 # contador para jugador 2 while True: player = [] player2 = [] player.append(rc(cartas)) player.append(rc(cartas)) player2.append(rc(cartas2)) player2.append(rc(cartas2)) while jugador1 == True: tp1 = total(player) print "El jugador tiene las siguientes cartas %s con un total de %d" % (player, tp1) if tp1 > 21: # si sobrepasa el 21 pierde print "--> Ya has perdido!" jugador2g = jugador2g +1 jugador2 = False tp2 = 0 break # termina el while elif tp1 == 21: print "\a BLACKJACK!!!" jugador1g = jugador1g +1 jugador2 = False break else: hs = raw_input("Otra o terminar? Escribir la letra H para otra y T para terminar: ").lower while hs != "h" and hs != "t": print "numero incorrecto" hs = raw_input("Otra o terminar? Escribir la letra H para otra y T para terminar: ").lower
 * 1) Saca las 2 cartas para cada jugador.

if 'h' in hs: player.append(rc(cartas)) else: break print # espacios en la pantalla print while jugador2 == True: tp2 = total(player2) print "El jugador dos tiene las siguientes cartas %s con un total de %d" % (player2, tp2) if tp2 > 21: print "--> Perdiste!" jugador1g = jugador1g +1 jugador1 = False break elif tp2 == 21: print "\a BLACKJACK!!!" jugador2g = jugador2g +1 break else: hs2 = raw_input("Otra o terminar? Escribir la letra H para otra y T para terminar: ").lower while hs2 != "h" and hs != "t": print "numero incorrecto" hs2 = raw_input("Otra o terminar? Escribir la letra H para otra y T para terminar: ").lower

if hs2=="h" : player2.append(rc(cartas2)) else: conteo = True break while conteo == True: if (tp1 > tp2) & (tp1 <22): # Si tp1 es mayor a tp2 y menor que 22, se da como ganador al jugador 1 print "El jugador uno ha ganado!" jugador1g = jugador1g +1 elif tp1 == tp2: print "Empataron ¬¬!" elif (tp2 > tp1) & (tp2 < 22): # Si tp2 es mayor a tp1 y menor que 22, se da como ganador al jugador 2 print "El jugador dos ha ganado!" jugador2g = jugador2g +1 jugador1 = True jugador2 = True break print print "Juegos ganados, Jugador 1 = %d Jugador 2 = %d" % (jugador1g, jugador2g) exit = raw_input("Presione Enter (s para salir): ").lower while exit != "s" and exit !="p": print "numero incorrecto" exit = raw_input("Presione p para seguir (s para salir): ").lower

if 's' in exit:

graficas(jugador1g,jugador2g) break print

print print "Gracias por jugar!"

Regresar a Página Principal