[juego] ahorcado

# -*- coding: utf-8 -*- import os, random, time,sys import os.path as path msgInicio = "Bienvenido al ahorcado" print(msgInicio.center(50, '=')) adivinar = ["lux", "darius", "kaile"] def guardarArray(array): text = "" document = open("datos.txt", "w") for x in range(len(array)): if(len(array) -1 ==x): text += array[x] else: text += array[x]+"," document.write(text) document.close() return(text) def leer(): if(path.exists("datos.txt")): document = open("datos.txt", "r") contenido = document.readline() deposito = contenido.split(',') return(deposito) document.close() else: contenido = guardarArray(adivinar) deposito = contenido.split(',') return(deposito) def strToList(cadena): lista = [] for i in range(len(cadena)): lista += cadena[i].split() return(lista) def listToStr(lista): txt="" for i in range(len(lista)): if(len(lista)-1==i): txt += lista[i] else: txt += lista[i]+"," return(txt) def agregarItem(): try: print("Agregar/modificar/eliminar algun item a la lista".center(70, '=')) print("\nlista actual: ", leer()) obtener = str(input("agregar(para agregar varios solo debes usar (, ): ")) agregar = obtener.split(", ") adivinar.extend(agregar) print("\nnuevos items", adivinar) guardarArray(adivinar) time.sleep(3) except: print("ha ocurrido un error") def jugar(): global adivinar if(path.exists("datos.txt")): #varibales que necesita adivinar = leer() rand = random.randint(0, len(adivinar) -1) #esto es para comprobar que todo ande bien con el rand print(rand) azar = adivinar[rand].lower() #sirve para validar los valores que se hayan agregado anteriormente almacenar = [] ordenar = [] intentos = 0 vidas = 5 #para agregar '_' cantidad de caracteres de adivinar. for cant in range(len(adivinar[rand])): ordenar.append("_") while True: #este es el mensaje despues del clear print("ahorcado".center(50, '-')) intentos += 1 print(ordenar, "\nvidas:{0}\nintentos:{1}".format(vidas,intentos)) obtenerLetra = str(input("\nagregue una letra: ")).lower() #esto hace que se busque una letra n de veces que se encuentre en el str repeticionDeLetras = azar.count(obtenerLetra) index = azar.find(obtenerLetra) #esto es muy obvio. if(vidas < 1): print("lo siento mucho , has perdido :(") break #si se esciben dos letras en obtenerLetra (errar ya que es letra por letra) if(len(obtenerLetra) > 1): vidas -= 1 print("Error , solo se permite una letra a la vez") time.sleep(2) #si una letra se repite mas de una vez elif(almacenar.count(obtenerLetra) > 0): vidas -= 1 print("ese valor ya existe, vidas restantes:",vidas) time.sleep(2) #tengo dos formas , cuando se encuentren mas de de una letra elif(repeticionDeLetras > 1): clon = azar #aca paso las letras de clon a clonList en forma array clonList = strToList(clon) for i in range(repeticionDeLetras): #aca busco la letra para que me devuela su index indexMOD = clonList.index(obtenerLetra) clonList[indexMOD] = "" #borrar el valor para luego remplazarlo ordenar.pop(indexMOD) ordenar.insert(indexMOD, obtenerLetra) #envio el valor a almacenar para luego comprobarlo almacenar.append(obtenerLetra) print(ordenar) #cuando se encuentra sola mente una ves la letra elif(repeticionDeLetras == 1): # almacenar.insert(index, obtenerLetra) almacenar.append(obtenerLetra) #borrar el valor para luego remplazarlo ordenar.pop(index) ordenar.insert(index, obtenerLetra) print(ordenar) else: vidas -= 1 print("lo siento te has equivocado vidas restantes: {}".format(vidas)) time.sleep(2) #si ya gano! if(ordenar == strToList(azar)): print("\nFelicidades la palabra era: {0}\nintentos: {1}".format(azar.capitalize(),intentos)) time.sleep(3) os.system("cls") break os.system("cls") else: print("valores por default") guardarArray(adivinar) jugar() menu = { 1: 'Jugar', 2: 'valores existentes', 3: 'Agregar/modificar/eliminar algun item a la lista', 4: 'Salir' } while True: #para explorar el diccionario for clave, valor in menu.items(): print('--', "{0})".format(clave), valor) #por si informarMenu tiene algun error try: #decoracion (parte inferior) print("".center(50, "=")) informeMenu = int(input("\npor favor ingresa el valor deseado: ")) #esta variable comprobara si el valor ingresado existe comprobar = menu.get(informeMenu) if(comprobar): if(informeMenu == 1): os.system("cls") jugar() elif(informeMenu == 2): os.system("cls") print("valores existentes", leer()) elif(informeMenu == 3): os.system("cls") agregarItem() elif(informeMenu == 4): print("hasta pronto") sys.exit(0) else: print("no existe") except ValueError: os.system("cls") print("valor no soportado, recuerda que el valor solo puede ser númerico")
Versión 1.0

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.