APORTACIONES GRUPALES - JUEGOS EN CONSOLA UNIDAD 3

El dia de hoy les traigo un par de juegos en consola hechos en clase:

Aportación de Antonio Huerta: en este caso tenemos el famoso juego de black jack
Referencio el blog de mi compañero ya que el explica detalladamente las reglas del juego:
http://graficacionitm-huerta.blogspot.com/2018/10/juego-sencillo-en-python-blackjack.html

Codigo:

#Librerias
import random
import time

#Variables Globales
global cartas
cartas = ["A",2,3,4,5,6,7,8,9,10,"J","Q","K"]

global nombrejugadores
nombrejugadores = []

#Funciones
def TurnoCartas(nombre):
    total = 0
    eleccion = 1
    i = 1
    deck = []
    print "-Turno de ",nombre,": "

    while (eleccion!=0 & total < 21):
        numero = 0
        numerosnaturales = [2,3,4,5,6,7,8,9,10]

        print "\nCarta #",i,": ",
        time.sleep(4)
        numero = random.choice(cartas)
        print "[",numero,"]"

        if(numero=="A"):
            deck.append(numero)
            print "Que valor quieres que tenga tu 'A', 1 u 11?"
            numero = input()
            if(numero!=1 | numero!=11):
                print "PERDISTE POR TRAMPOSO!"
                return 0
                break

        elif(numero == "J"):
            deck.append(numero)
            numero = 10
        elif(numero == "Q"):
            deck.append(numero)
            numero = 10
        elif(numero == "K"):
            deck.append(numero)
            numero = 10

        else:
            deck.append(numero)

        total+=numero
        time.sleep(2)
        if(i>1):
            print "-Total: ", total,"\n"

        if(total < 21):
            #deck.append(numero)
            respuesta=2
            while(respuesta==2):
                respuesta = input("1) Pedir otra Carta  2) Mirar tus Cartas  3)Finalizar turno\n")
                if(respuesta==1):
                    i += 1
                elif(respuesta==2):
                    print "-Cartas: ",deck,"\n"
                    time.sleep(3)
                else:
                    eleccion =0
                    return total

        elif(total==21):
            deck.append(numero)
            print "FELICIDADES, has hecho un BLACKJACK!"
            return total
        else:
            print "QUE MALA SUERTE! HAS PERDIDO! "
            return 0

def NombreJugadores(numjugadores):

    for i in range(numjugadores):
        print "Introduce el Nombre del Jugador ", i+1
        nombre = raw_input()
        nombrejugadores.append(nombre)
    print "-" * 72

def Ganador2J(J1,J2, nombre):
    print "El Ganador es: ",
    time.sleep(3)
    if(J1>J2):
        print nombre[0]," Con un Total de ",J1
    elif(J2>J1):
        print nombre[1]," Con un Total de ",J2
    elif(J1==J2):
        print "\nHay un EMPATE!! con un Total de ",J1," en Ambos Jugadores!!"
    else:
        print "\nLos 2 Jugadores PERDIERON!"

def Ganador3J(J1,J2,J3, nombre):
    print "El Ganador es: ",
    time.sleep(3)

    if (J1 > J2 and J1>J3):
        print nombre[0], " Con un Total de ", J1
    elif (J2 > J1 and J2>J3):
            print nombre[1], " Con un Total de ", J2
    elif (J3 > J1 and J3>J2):
            print nombre[2], " Con un Total de ", J3
    elif(J1==J2 and J1!=J3 and J2!=J3):
        print "\nHay un EMPATE!! entre ",nombre[0]," y ",nombre[1]," con un Total de ", J1, " en los Jugadores!!"
    elif (J2 == J3 and J2 != J1 and J3!=J1):
        print "\nHay un EMPATE!! entre ", nombre[1], " y ", nombre[2], " con un Total de ", J2, " en los Jugadores!!"
    elif (J1 == J3 and J1 != J2 and J3!=J2):
        print "\nHay un EMPATE!! entre ", nombre[0], " y ", nombre[2], " con un Total de ", J1, " en los Jugadores!!"
    elif (J1 == J2 and J2 == J3):
        print "\nHay un EMPATE!! con un Total de ", J1, " en TODOS los Jugadores!!"
    else:
        print "\nLos 3 Jugadores PERDIERON!"

#MAIN
continuar = 1
while continuar != 0:
    print "JUEGO DE BLACK JACK"
    print "-"*72
    numjugadores = input("Numero de Jugadores: 1) 1 Jugador  2) 2 Jugadores  3) 3 Jugadores\n")
    NombreJugadores(numjugadores)

    if(numjugadores==1):

        print "Buenas, Jugadores, Vamos a empezar la Partida de BlackJack"
        time.sleep(4)
        print "Inicia el Jugador numero 1"
        time.sleep(2)
        Jugador1 = TurnoCartas(nombrejugadores[0])
        print "Total del Jugador = ",Jugador1,"\n"
        time.sleep(3)
        continuar = input("\nQuieres Jugar Otra Vez???  1)Si   0)No\n")
        del nombrejugadores[:]
        print "-" * 72

    elif(numjugadores==2):

        print "Buenas, Jugadores, Vamos a empezar la Partida de BlackJack"
        time.sleep(4)
        Jugador1 = 0
        Jugador2 = 0
        for i in range(numjugadores):
            print "Inicia el Jugador numero ",i+1
            time.sleep(2)
            if(i==0):
                Jugador1 = TurnoCartas(nombrejugadores[i])
                print "Turno Finalizado. Espera a tu Oponente...\n"
                time.sleep(3)
                print "-" * 72
            else:
                Jugador2 = TurnoCartas(nombrejugadores[i])
                print "Turno Finalizado.\n"

        time.sleep(2)
        print "Eligiendo Ganador",
        time.sleep(2)
        print ".",
        time.sleep(2)
        print ".",
        time.sleep(2)
        print ".\n"
        time.sleep(2)

        Ganador2J(Jugador1,Jugador2,nombrejugadores)
        #jugadores = {nombrejugadores[0]: Jugador1 , nombrejugadores[1]: Jugador2}
        # print "\nEl Ganador es",
        #time.sleep(3)
        #print max(jugadores, key=jugadores.get), " con un Total de ",max(jugadores.values())
        #time.sleep(3)

        continuar = input("\nQuieres Jugar Otra Vez???  1)Si   0)No\n")
        del nombrejugadores[:]
        print "-" * 72

    elif(numjugadores == 3):
        print "Buenas, Jugadores, Vamos a empezar la Partida de BlackJack"
        time.sleep(4)
        Jugador1 = 0
        Jugador2 = 0
        Jugador3 = 0
        for i in range(numjugadores):
            print "Inicia el Jugador numero ", i + 1
            time.sleep(2)
            if (i == 0):
                Jugador1 = int(TurnoCartas(nombrejugadores[i]))
                print "Turno Finalizado. Espera a tu Oponente...\n"
                time.sleep(3)
                print "-" * 72
            elif(i == 1):
                Jugador2 = int(TurnoCartas(nombrejugadores[i]))
                print "Turno Finalizado. Espera a tu Oponente...\n"
                time.sleep(3)
                print "-" * 72
            else:
                Jugador3 = int(TurnoCartas(nombrejugadores[i]))
                print "Turno Finalizado.\n"

        time.sleep(2)
        print "Eligiendo Ganador",
        time.sleep(2)
        print ".",
        time.sleep(2)
        print ".",
        time.sleep(2)
        print ".\n"
        time.sleep(2)

        Ganador3J(Jugador1, Jugador2, Jugador3, nombrejugadores)
        #jugadores = {nombrejugadores[0]: Jugador1, nombrejugadores[1]: Jugador2, nombrejugadores[2]: Jugador3}
        #print "\nEl Ganador es",
        #time.sleep(3)
        #print max(jugadores, key=jugadores.get), " con un Total de ", max(jugadores.values())
        #time.sleep(3)
        continuar = input("\nQuieres Jugar Otra Vez???  1)Si   0)No\n")
        del nombrejugadores[:]

        print "-" * 72

Salida:


Aportacion de Ivan Gutierrez Gracia:

import random
import time
import textwrap


msg = ("El siguiente juego consiste en adivinar el numero en que esta pensando la computadora"
       " es importante mencionar que el numero de intentos se establece conforme a la suerte"
       " en el caso de que menciones un numero por debajo del que se busca aparece un mensaje"
       " diciendo que tu estimacion es muy baja, de igual manera sucede en sentido contrario"
       " solo que aparece un mensaje diciendo que la estimacion es muy alta"
       " si llegas a agotar el numero de intentos pierdes el juego, y si lo deseas puedes volver a jugar mucha suerte")

print(textwrap.fill(msg, width = 70))
print("\nBienvenido al juego adivina el numero")
n=raw_input ("Ingresa tu nombre: ")

back=1
while back==1:
    linea_punteada = 70 * '-'
    print(linea_punteada)

    print(n+" estoy pensando en un numero entre 1 y 5 " + "crees poder adivinarlo?")
    print("La suerte va a decir el numero de intentos que tienes")
    time.sleep(1)
    print "*"
    time.sleep(1)
    print "**"
    time.sleep(1)
    print "***"

    aux=0
    arr=[1,2,3,4,5]
    intentos=random.choice(arr)
    num=random.randint(1,5)
    print ("Tienes "+str(intentos)+" intentos")


    while aux<intentos:
        est=int(input("Intenta adivinar"))
        aux+=1
        if est<num:
            print("Tu estimacion es muy baja")
        elif est>num:
            print("Estimacion muy alta")
        elif est==num:
            break

    if est==num:
        print("Has adivinado")
    else:
        print("Perdiste " + n + " el numero que estaba pensando es:", num)
    print ("Desea volver a jugar? 1.-Si/2.-No")
    back = input("Respuesta: ")


Salida:


Comentarios