0% encontró este documento útil (0 votos)
137 vistas6 páginas

Ahorcado

Este documento presenta un programa de ahorcado en Python. El programa genera una palabra aleatoria de una lista de palabras, oculta la palabra con guiones bajos y permite al usuario adivinar letras. El programa lleva un registro de vidas, nivel de ahorcado y estadísticas de juegos.

Cargado por

Christian Tinco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
137 vistas6 páginas

Ahorcado

Este documento presenta un programa de ahorcado en Python. El programa genera una palabra aleatoria de una lista de palabras, oculta la palabra con guiones bajos y permite al usuario adivinar letras. El programa lleva un registro de vidas, nivel de ahorcado y estadísticas de juegos.

Cargado por

Christian Tinco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

# -*- coding: utf-8 -*-

###########################

# Ahorcado

# Versi?n: 0.3

# Autor: Amorhin

# Email: [email protected]

###########################

# Importaci?n de bibliotecas.

import random

import string

import pickle

# FUNCIONES.

# -------------------------------------------------------------------

# crea una lista con la longitud de la palabra

def ocultar(cadena):

ocultada = []

for i in cadena:

ocultada += "_"

return ocultada

# Convierte la cadena en una lista.


def listar(cadena):

listada = []

for letra in cadena:

listada += letra

return listada

# Devuelve -1 si no encuentra un caracter en una lista.

def buscar(lista, caracter):

for i in lista:

if i == caracter:

return 1

return -1

# sustituye la letra dada en la palabra oculta si existe en palabra.

def sustituir(palabra, oculta, letra):

n=0

while n < len(palabra):

if palabra[n] == letra:

oculta[n] = letra

n += 1

# Quita el ?ltimo caracter de una lista de palabras.

def quitarultimo(lista):

n=0

lista2 = range(len(lista))

while n < len(lista):


palabra = lista[n]

lista2[n] = palabra[:-1]

n += 1

return lista2

# Convierte una letra en minusculas.

def convminusculas(letra):

mayusculas = "ABCDEFGHIJKLMN?OPQRSTUVWXYZ"

minusculas = "abcdefghijklmn?opqrstuvwxyz"

n=0

while n < len(mayusculas):

if mayusculas[n] == letra:

letra = minusculas[n]

n += 1

return letra

# -------------------------------------------------------------------

# Mu?eco en ASCII.

muneco = ["\n"*6 + " -----",\

" |\n"*6 + " -----",\

" ______\n" + " |\n"*6 + " -----",\

" ______\n" + " | |\n" + " |\n"*5 \

+" -----",\

" ______\n" + " | |\n" + " O |\n" \

+" |\n"*4 + " -----",\


" ______\n" + " | |\n" + " O |\n" \

+ " =[:]= |\n" + " |\n"*3 + " -----",\

" ______\n" + " | |\n" + " O |\n" \

+ " =[:]= |\n" + " / \ |\n" + " |\n"*2 \

+" -----"]

# Lista de Palabras de archivos.

f = open("palabras.txt", "r")

lista1 = f.readlines()

lista = quitarultimo(lista1)

# Asignaci?n de palabra aleatoria y ocultar

palabra = lista[random.randint(0, len(lista)-1)]

listada = listar(palabra)

oculta = ocultar(palabra)

# Asignaci?n de vidas.

vidas = 7

nivel = 0

# Presentaci?n.

print "-"*20

print "?EL AHORCADO!"

print "-"*20

print "Tienes 7 vidas para adivinar la palabra\n"


# Bucle del juego.

while vidas > 0:

print "\nTe quedan", vidas, "vidas"

print muneco[nivel]

print oculta

letra = raw_input("Escribe una letra: ")

letra = convminusculas(letra)

if string.find(palabra, letra) == -1:

vidas -= 1

nivel += 1

else:

sustituir(listada, oculta, letra)

if buscar(oculta, "_") == -1:

print oculta

break

# Fin del juego.

if vidas > 0:

print "\nS?, has ganado, la palabra era", palabra, "\n"

resultado = 1

else:

print "\nLo siento, perdiste, la palabra era", palabra, "\n"

resultado = 0

# Estad?sticas.

try:
archivo = open("ahorcado.dat", "r")

jugadas = pickle.load(archivo)

ganadas = pickle.load(archivo)

perdidas = pickle.load(archivo)

archivo.close()

except:

archivo = open("ahorcado.dat", "w")

jugadas = 0

ganadas = 0

perdidas = 0

archivo.close()

jugadas += 1

if resultado == 1:

ganadas += 1

else:

perdidas += 1

archivo = open("ahorcado.dat", "w")

pickle.dump(jugadas, archivo)

pickle.dump(ganadas, archivo)

pickle.dump(perdidas, archivo)

archivo.close()

print "Partidas jugadas:", jugadas

print "Ganadas:", ganadas

print "Perdidas:", perdidas

También podría gustarte