Quantcast
Channel: Juego de Dados python - Stack Overflow en español
Viewing all articles
Browse latest Browse all 2

Juego de Dados python

$
0
0

Tengo que hacer un juego donde participen dos jugadores al mismo tiempo. Consiste en tirar 3 dados y obtener puntos a partir de las distintas combinaciones. el primero en llegar a 5000 gana. Una de las opciones del juego es ver un "ranking historico de partidas ganadas" y "el maximo puntaje de todos los tiempos"no estoy sabiendo donde y que poner para hacer eso.

  from os import system, path, sysimport pickle import randomjugadores = []puntaje_para_ganar = 5000jugador_player = 0puntaje1 = 0puntaje2 = 0# puntajes_maximos = ["", 0] def buscar_jugador(nom):    pos = 0    jugador = None    while pos < len(jugadores) and jugador == None:        jds = jugadores[pos]        if jds["nombre"] == nom:            jugador = jds        pos += 1    return jugadordef buscar_jugador2(nom2):    pos = 0    jugador2 = None    while pos < len(jugadores) and jugador2 == None:        jds = jugadores[pos]        if jds["nombre"] == nom2:            jugador2 = jds        pos += 1    return jugador2def nuevo_jugador():        global jugador_player    system("cls")    nom = input("Ingrese el nombre del jugador 1: ")    jugador = buscar_jugador(nom)    if jugador != None:        print("Jugador:", jugador["nombre"])    print()    nom2 = input("Ingrese el nombre del jugador 2: ")    jugador2 = buscar_jugador2(nom2)    if jugador2 != None:        print("Jugador:", jugador2["nombre"])    print()    while jugador == None:        print()        print("El jugador", nom, "no existe")        input("Presione ENTER para crear nuevo jugador")        nombre = input("Ingrese el nombre del nuevo jugador_1: ")        jugador = {"nombre":nombre, "partidas":0, "puntos":0}        jugadores.append(jugador)        print("Jugador Creado! Presione ENTER para continuar")        print()        print("Hola! ",nombre)        print()        input("Presione ENTER para continuar")    while jugador2 == None:        print()        print("El jugador",nom2, "no existe")        input("Presione ENTER para crear nuevo jugador")        nombre2 = input("Ingrese el nombre del nuevo jugador_2: ")        jugador2 = {"nombre":nombre2, "partidas":0, "puntos":0}        jugadores.append(jugador2)        print("Jugador Creado! Presione ENTER para continuar")        print()        print("Hola! ",nombre2)        print()        input("Presione ENTER para continuar")    return jugador, jugador2def nueva_partida():    system("cls")    print("BIENVENIDOS!")    print()    input("Presione ENTER para comenzar")    jugador = nuevo_jugador()    print()    print("EL PUNTAJE PARA GANAR ES: " , str(puntaje_para_ganar))    print()    jugar = input("Presione Enter Para Tirar Dados")    jugador == jugar    print("Comenzó la partida:")    turno_jugador_1 = True    puntos_turno = turno(turno_jugador_1)    return puntos_turno# jugador.partidas += partidas# guardar_jugadores()# # guardar_puntajes_maximos()def turno(turno_jugador_1):    resp = "S"    total_tiro = 0    continuar = True    tirada = 1    puntaje1 =0    puntaje2 = 0    while (continuar):        if (turno_jugador_1):            print("Turno jugador 1")            tirada = obtener_puntaje()            if(tirada==0):                total_tiro=0                puntajes1 =total_tiro            else:                total_tiro += tirada                puntajes1 = total_tiro            print ("Puntaje de jugador 1:", puntajes1)            print()         else:            print("Turno jugador 2")            tirada = obtener_puntaje()            if(tirada==0):                total_tiro =0                puntajes2=total_tiro            else:                total_tiro += tirada                puntajes2 = total_tiro            print ("Puntaje de jugador 2:", puntajes2)             print ()        if  puntaje1 + total_tiro >= puntaje_para_ganar or puntaje2 + total_tiro >= puntaje_para_ganar:            continuar = False            if(turno_jugador_1):                print("HA GANADO EL JUGADOR 1")                input("Presione ENTER para salir")            else:                print("HA GANADO EL JUGADOR 2")                input("Presione ENTER para salir")        elif total_tiro ==0:            turno_jugador_1 = not(turno_jugador_1)        else:            resp = str.upper(input("Desea seguir tirando? (S/N)"))            if(resp=="N"):                print ()                resp2 = str.upper(input("Desea salir del juego? (S/N)"))                if (resp2=="N"):                    turno_jugador_1 = not(turno_jugador_1)                else:                    print ()                    print ()                    print ("LA PARTIDA FINALIZO")                    continuar=False                      input("Presione ENTER para continuar")    return puntaje1, puntaje2        def obtener_puntaje():    dados = tirar_dados()    if dados[0]==dados[1]==dados[2]:        return 1000    elif dados[0]==dados[1] or dados[1]==dados[2] or dados[0]==dados[2]:        return 500    elif dados[0]==1 and dados[1]==6 or dados[0]==6 and dados[1]==1 or dados[1]==1 and dados[2]==6 or dados[1]==6 and dados[2]==1 or dados[0]==1 and dados[2]==6 or dados[1]==6 and dados[2]==1:        return 100    elif dados[0]==1 or dados[1]==1 or dados[2]==1 or dados[0]==6 or dados[1]==6 or dados[2]==6:        return 50    else:        return 0 def tirar_dados():    dados  = [random.randint(1,6),random.randint(1,6),random.randint(1,6)]    print("dado 1:",dados[0])    print("dado 2:",dados[1])    print("dado 3:",dados[2])    return dados#def maximo_puntaje():    #system("cls")    #print("El Maximo Puntaje de Todos Los Tiempos es:")    #for jugador in jugadores:    #    pts =     #    print(jugador["nombre"], "puntos", pts)    #print()    #input("Presione ENTER para continuar")    #return ptsdef listar_jugadores(jugadores):    system("cls")    print("Nombre  Partidas")    for jugador in jugadores:        print(jugador["nombre"], jugador["partidas"])    print()    input("Presione ENTER para continuar")def cambiar_puntaje():    system ("cls")    global puntaje_para_ganar    print()    puntaje_nuevo = int(input("Escriba puntaje maximo del juego: "))    puntaje_para_ganar == int(puntaje_nuevo)    return int(puntaje_nuevo)def guardar_jugadores():    ruta_archivo = path.join(sys.path[0], "kamikaze.bin")    archivo = open(ruta_archivo, "wb+")    pickle.dump(jugadores,archivo)    archivo.close()def cargar_jugadores():    global jugadores    ruta_archivo = path.join(sys.path[0], "kamikaze.bin")     if path.isfile(ruta_archivo):        archivo = open(ruta_archivo, "rb+")        jugadores = pickle.load(archivo)        archivo.close()    else:         jugadores = []# def guardar_puntajes_maximos ():#     ruta_archivo = path.join (sys.path[0], "maximos.bin")#     archivo = open(ruta_archivo, "wb")#     pickle.dump (puntajes_maximos,archivo)#     archivo.close()# def cargar_puntajes_maximos ():#     global puntajes_maximos#     ruta_archivo = path.join (sys.path[0], "maximos.bin")#     if path.isfile(ruta_archivo):#         archivo = open(ruta_archivo, "rb")#         puntajes_maximos = pickle.load (archivo)#         archivo.close ()#     else :#         puntajes_maximos = {} def mostrar_menu():    system("cls")        print("1. Nueva Partida")    print("2. Lista de jugadores")    print("3. Maximo puntaje de todos los tiempos")    print("4. Cambiar puntaje para ganar partidas")    print("5. Guardar y Salir")    print()def pedir_opcion():    opcion = input("Ingrese una opción: ")    while opcion != "1" and opcion != "2" and opcion != "3" and opcion != "4" and opcion != "5":        mostrar_menu()        print("Opción inválida")                opcion = input("Ingrese una opción: ")    return opcion#dados = tirar_dados()cargar_jugadores()# cargar_puntajes_maximos()mostrar_menu()opcion = pedir_opcion()while opcion != "5":    if opcion == "1":        nueva_partida()        print("opcion 1")    elif opcion == "2":        listar_jugadores(jugadores) # FALTA ARREGLAR ESO        print("opcion 2")                   elif opcion == "3":        maximo_puntaje() #FALTA HACER ESTO        print("opcion 3")    elif opcion == "4":        puntaje_para_ganar = cambiar_puntaje()        print("opcion 4")    elif opcion == "5":        guardar_jugadores()        print("opcion 5")    mostrar_menu()    opcion = pedir_opcion()guardar_jugadores()print("Adiós!")

Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images