0% encontró este documento útil (0 votos)
11 vistas18 páginas

Documentación del Juego Ahorcado en Python

El juego consiste en que el jugador debe adivinar una palabra oculta ingresando letras de forma limitada, mostrando el progreso y estado del ahorcado. El programa elige una palabra, pide letras al jugador, verifica si están correctas y actualiza el progreso, indicando al final si ganó o perdió.

Cargado por

Alex Lopez
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas18 páginas

Documentación del Juego Ahorcado en Python

El juego consiste en que el jugador debe adivinar una palabra oculta ingresando letras de forma limitada, mostrando el progreso y estado del ahorcado. El programa elige una palabra, pide letras al jugador, verifica si están correctas y actualiza el progreso, indicando al final si ganó o perdió.

Cargado por

Alex Lopez
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 PDF, TXT o lee en línea desde Scribd

FUNDAMENTOS DE PROGRAMACIÓN I

Integrantes:
Hayron Alexander Lopez Dionicio 202401962
Harvey Antonio Nol Mendoza 202401661
Melissa Yaneth López Chun 202402134
Wilberth Stuardo Hernandez Garcia 202404374
Ely Sebastian Mendez Castañeda 202403926
Maria Fernanda Isabella Lopez Medrano 202401263

Tema:
Documentación y Desarrollo de Juego “El Ahorcado”

Ingeniero Aarodi Emanuel Monge Tevalan


Introducción a la Programación I
Facultad de ingeniería.
Universidad Da Vinci de Guatemala
DOCUMENTACIÓN EXTERNA

¿Qué es Python?: Python es un lenguaje de programación potente y fácil de aprender.


Tiene estructuras de datos de alto nivel eficientes y un simple pero efectivo sistema de
programación orientado a objetos. La elegante sintaxis de Python y su tipado dinámico,
junto a su naturaleza interpretada lo convierten en un lenguaje ideal para scripting y
desarrollo rápido de aplicaciones en muchas áreas, para la mayoría de las plataformas
(Megida, 2023)

¿Qué es un compilador?: Un compilador necesita que le entreguen el programa completo


en un fichero, y luego ejecuta un proceso para traducir el código fuente de alto nivel a
código máquina, tras lo cual coloca ese código máquina resultante dentro de otro fichero
para su ejecución posterior (Severance, 2013, p.9).

¿Qué es Visual Studio Code?: IDE de Visual Studio es una plataforma de lanzamiento
creativa que puede utilizar para editar, depurar y compilar código y, finalmente, publicar
una aplicación. Además del editor y depurador estándar que ofrecen la mayoría de IDE,
Visual Studio incluye compiladores, herramientas de completado de código, diseñadores
gráficos y muchas más funciones para mejorar el proceso de desarrollo de software.
(Microsoft, 2024).

¿Qué significa la palabra reservada Import?: Para poder cargar una biblioteca a nuestro
script con Python hacemos uso de la palabra reservada import seguido del nombre

¿Qué significa la palabra random?: El módulo random en Python es una herramienta


esencial para generar números pseudoaleatorios en tus programas. Ya sea que estés
creando un juego, realizando simulaciones o necesites realizar una selección uniforme de
elementos de una lista, el módulo random te brinda la capacidad de introducir un
elemento de azar en tu código. En este artículo, te mostramos cómo utilizar el módulo
random en Python de manera efectiva, explorando sus funciones y ofreciendo ejemplos
para garantizar la reproducibilidad en tus proyectos.( Burrueco,2021)

Ramdon choice: La función [Link] devuelve un valor aleatorio extraído de la


secuencia pasada como argumento. Si esta secuencia está vacía, la función genera un
IndexError ([Link] | Interactive Chaos, s. f.).

¿Qué significa def?: Una definición de función específica el nombre de una función nueva
y la secuencia de sentencias que se ejecutan cuando esa función es llamada. Una vez
definida una función, se puede reutilizar varias veces en todo el programa, “def” es una
palabra clave que indica que se trata de una definición de función (Severance, 2013, p.49).

¿Qué significa len?: Devuelve el número de valores de un elemento iterable en Python.


Es una función muy simple y eficiente para este propósito. Un elemento iterable puede
ser una lista o un diccionario (Padilla, 2023).

¿Qué significa lower?: Convierte todos los caracteres alfabéticos de la cadena en


minúscula. Todos los caracteres no alfabéticos no sufren cambios (Función LOWER()).

¿Qué significa join?: Une las cadenas de una lista en una sola cadena. Su nombre es “join”
(que en inglés significa “unir””) (Marzal y Gracia, 2011, p.209).

¿Qué significa char?: El tipo char se utiliza para representar caracteres individuales. Por
tanto, el tipo char requiere sólo un byte de memoria (Morales, s.f).

¿Qué significa continue?: Da la opción de omitir la parte de un bucle en la que se activa


una condición externa, pero continuar para completar el resto del bucle. Es decir, la
iteración actual del bucle se interrumpirá, pero el programa volverá a la parte superior
del bucle ().

¿Qué significa append?: Python provee métodos que operan en listas. Por ejemplo,
append agrega un nuevo elemento al final de una lista (Python Software Foundation
2023).
¿Qué significa numerate?: Esta función convierte un objeto de recopilación de datos en
un objeto de enumeración. Retorna un objeto con un contador que sirve de clave para
cada valor, lo que facilita el acceso a cada elemento del grupo de datos.

Es muy útil usar bucles con varios objetos, pero con frecuencia necesitamos tener un
medio para hacerle seguimiento a dichos bucles y también a los elementos a los que
accedemos con cada iteración. La función enumerate satisface esta necesidad asignando
un contador a cada elemento de un objeto, lo que nos permite rastrearlos.

Esto también facilita la manipulación de los grupos de datos cuando esto es posible. No
todos los objetos de recopilación de datos de Python se pueden cambiar, y los conjuntos
son un buen ejemplo de eso. (Londoño, 2023)
ANÁLISIS

<El juego consiste en que el programa debe permitir al jugador ingresar letras para
adivinar la palabra y verificar si están en la palabra, es necesario llevar un conteo de los
intentos restantes y mostrar la representación visual del ahorcado, se debe mostrar la
palabra parcialmente adivinada y actualizarla con las letras correctas, mostrar el flujo
del juego y determinar si el jugador gano o perdió.>

#SALIDA

< El jugador deberá adivinar la palabra determinada>

< Letras usadas>

<El muñequito>

<¡Ingresa una letra valida del abecedario!>

<¡Esta letra ya la usaste!>

<¡La palabra era!>

<¡Que triste perdiste!>

#ENTRADA

<Al jugador se le solicitara ingresar letras del abecedario para formar una
palabra que ya esta definida.>
#RESTRICCIONES

< -No está permitido insertar números.>

< -No se permite ingresar símbolos.>

<No se permite ingresar espacios en blanco.>

#PROCESOS

< Se utilizará el ciclo for y while, además; la condicional if / def / else,


también se utilizarán operaciones lógicos ==, <=, >=, +, “”,(),[].

For: Se utilizó para que el programa ejecute las instrucciones que nosotros pusimos,
instrucciones que le servirán al usurario para adivinar la palabra.

Def: es la palabra clave que se ejecutara cuando el usuario la llame, se utilizó para
que el programa elija la una de las palabras que pusimos para que el usurario la
adivine, también se utilizó para crear al muñequito del ahorcado, y para llamar a la
funcion Jugar_ahoracdo

While: se usó para poner la cantidad de intentos del usuario, para mostrar la cantidad
de errores, también para mostrar el progreso y para que el programa indique al usuario
las letras que ha utilizado.

Else: marca la cantidad de errores y en el programa, else está unido a if el cual nos está
indicando el número de errores que lleva el usuario también un if nos indica que en
Dado caso hallamos acertado con la palabra, programa enseñara:”¡Ganaste !” Y
“progreso” y si el usuario pierde, if mostrará: “La palabra era:” y “Que triste, Perdiste”.

Se usarán todas estas herramientas para guiar al usuario hacia la Respuesta correcta,
el programa le dará pistas como:”Ingresa una letra”, “ ¡Esa letra ya la usaste”, ”¡Por
favor ingresa una letra valida del alfabeto!”, ”¡Esta letra ya la usaste”,“ Ganaste”, “la
palabra
era”, “Que triste, perdiste”, entre otros. El objetivo del juego consiste en hallar
la palabra correcta para ganar el juego.
DISEÑO

A grosso modo <El juego del Ahorcado es un juego de adivinanzas en el que el jugador
intenta adivinar una palabra oculta letra por letra en un número limitado de intentos.>

ALGORITMO <Juego de ahorcado>

INICIO

DEFINIR palabra, progreso, letras_usadas, errores, etapas, letra, errores

DEF elegir_palabra():

palabras = ["historia", "cascabel", "telefono", "fosforo"]

return [Link](palabras)

DEF imprimir_ahorcado(errores):

etapas = [ ' ______ ',

' | | ',

' | O ',

' | /|\\',

' | / \\',

'| ',

'--- ']

PARA etapa esta etapas[:errores]:


MOSTRAR “etapa”

DEF adivinar_palabra(palabra):

errores = 0

progreso = ["-"] * len(palabra)

letras_usadas = []

MOSTRAR “Bienvenido(a) al juego: El Ahorcado”

Mientras errores < 6:

imprimir_ahorcado(errores)

MOSTRAR ("".juntar (progreso))

MOSTRAR ("Letras Usadas: ", ", ".juntar (letras_usadas))

letra = input("Elige una letra: ").lower()

MOSTRAR “Elige una letra”

OBTENER <letra>

SI letra = 1 o letra no esta (abcdefghijklmnopqrstuvwxyz)

MOSTRAR “Por favor, ingresa una letra válida del alfabeto.”

Continuar

SI letra esta letras_usadas

MOSTRAR “¡Esta letra ya la usaste!”


Continuar

letras_usadas.append(letra)

SI letra esta en palabra

PARA i, char esta en ennumeración (palabra)

SI char == letra

MOSTRAR “progreso i = letra”

ELSE

errores += 1

SI “juntar (progreso), == palabra”

MOSTRAR “"".join(progreso)”

MOSTRAR “¡Ganaste!”

SI errores == 6

Imprimir_ahorcado(6)

MOSTRAR "La palabra era:", palabra

MOSTRAR “¡Qué triste, perdiste!”

DEF jugar_ahorcado()

Palabra = elegir_palabra()
adivinar_palabra(palabra)

FIN

METACOGNICIÓN

Hayron Alexander Lopez Dionicio:

Aprender a programar este juego de ahorcado fue una experiencia bastante interesante.
Al utilizar funciones en el juego me di cuenta de lo útil que es dividir el código en partes
más pequeñas y entendibles al asegurarnos de que el usuario ingrese solo letras válidas y
no repita letras ya usadas mejora la experiencia del juego y hace que sea más
justo y divertido

Wilberth Stuardo Hernandez Garcia:

Programar este juego con mis compañeros aprendí muchas cosas nuevas en el codigo,
que me ayudarán bastante y me serán útiles en un futuro me sorprendió la manera en la
que creamos el juego desde cero y no cambiaría nada del código creo que el camino que
elegimos para hacer este código fue el mejor.

Harvey Antonio Nol Mendoza:

Hacer este proyecto y usar estas funciones adicionales no solo enriqueció el juego del
ahorcado en términos de funcionalidad y jugabilidad, sino que también proporciono una
oportunidad para explorar adquir conceptos más avanzados de programación en Python
y así poder mejorar mis habilidades en el programa.
Ely Sebastián Méndez Castañeda:

Al elaborar este código Python que implementa un juego del ahorcado. aprendí a utilizar
distintas funciones para modularizar diferentes aspectos del juego, como la selección
aleatoria de palabras, la impresión de representaciones visuales del ahorcado y la lógica
para adivinar letras. Además, incluye validación de entrada para garantizar que el usuario
ingrese letras válidas. La estructura general del juego hace que sea fácil de entender y
mantener, lo que lo hace adecuado tanto para jugar como para aprender sobre
programación modular en Python.

Melissa Yaneth López Chun:

Al aprender a hacer el juego del ahorcado me proporcionó experiencia y aprendizaje, al


ser trabajo en equipo hubo algunos obstáculos, pero se lograron superar en conjunto,
aprendí sobre la importancia de la comunicación y este proyecto contribuyó
significativamente a mi crecimiento personal y profesional.

María Fernanda Isabella López Medrano:

Aplicar los conocimientos adquiridos durante todo el semestre, me ayuda a comprender


que se puede desarrollar diversos procesamientos, cálculos, juegos, entre otros. Cuando
se realizó este proyecto se aplicó las bases fundamentales del lenguaje de Python,
además, que aprendimos mucho más, ya que usamos palabras reservadas nuevas, lo que
amplia nuestro conocimiento.
Referencias

Control Automático Educación. (s.f.). Python desde cero: Módulos en Python. Recuperado
de [Link]

Marzal, A., & Gracia, I. (2011). Introducción a la programación con Python. Publicacions
de la Universitat Jaume.

Microsoft. (s.f.). Visual Studio. Recuperado de [Link]


section

Morales, J. I. S. (s. f.). tipos de datos.


[Link]

Padilla, C. (2023, 14 marzo). La función length en Python: Cómo averiguar el tamaño de


una lista. [Link]. [Link]
length-en-python-como-averiguar-el-tamano-de-una-
lista/#:~:text=La%20funci%C3%B3n%20len%20devuelve%20el,una%20lista%20o%20un
%20diccionario.

HubSpot. (s.f.). ¿Qué es Python Enumerate? Recuperado de


[Link]

Python Software Foundation. (s.f.). set — Conjuntos. Recuperado de


[Link]

[Link] | Interactive Chaos. (s. f.).


[Link]
3%B3n%20random.,la%20funci%C3%B3n%20genera%20un%20IndexError.

Severance, C. (2013). Python para todos. Explorando la información con Python 3.


Tagliaferri, L. (2021, 19 febrero). Cómo usar las instrucciones break, continue y pass
cuando se trabaja con bucles en Python 3. DigitalOcean.
[Link]
pass-statements-when-working-with-loops-in-python-3-es
ANEXOS

# PROYECTO FINAL. JUEGO EL AHORCADO

# Hayron Alexander Lopez Dionicio 202401962

# Harvey Antonio Nol Mendoza 202401661

# Melissa Yaneth López Chun 202402134

# Wilberth Stuardo Hernandez Garcia 202404374

# Ely Sebastian Mendez Castañeda 202403926

# María Fernanda Isabella López Medrano 202401263

import random

# Función para elegir una palabra aleatoria

def elegir_palabra():

str_palabras = ["historia", "cascabel", "telefono", "fosforo"]

return [Link](str_palabras)

#Procedimiento para imprimir el ahorcado según el número de errores

def imprimir_ahorcado(int_errores):
str_etapas = [

' ______ ',

' | | ',

' | O ',

' | /|\\',

' | / \\',

'| ',

'--- '

for str_etapa in str_etapas[:int_errores]:

print(str_etapa)

# Procedimiento para adivinar la palabra

def adivinar_palabra(str_palabra):

int_errores = 0

progreso = ["-"] * len(str_palabra)

str_letras_usadas = []
print("Bienvenido(a) al juego: El Ahorcado")

while int_errores < 6:

imprimir_ahorcado(int_errores)

print("".join(progreso))

print("Letras Usadas: ", ", ".join(str_letras_usadas))

str_letra = input("Ingresa una letra: ").lower()

if len(str_letra) != 1 or str_letra not in 'abcdefghijklmnñopqrstuvwxyz':

print("Por favor, ingresa una letra válida del alfabeto.")

continue

if str_letra in str_letras_usadas:

print("¡Esta letra ya la usaste!")

continue

str_letras_usadas.append(str_letra)
if str_letra in str_palabra:

for i, char in enumerate(str_palabra):

if char == str_letra:

progreso[i] = str_letra

else:

int_errores += 1

if "".join(progreso) == str_palabra:

print("".join(progreso))

print('¡Ganaste!')

break

if int_errores == 6:

imprimir_ahorcado(6)

print("La palabra era:", str_palabra)

print('¡Qué triste, perdiste')


# Función principal para jugar el ahorcado

def jugar_ahorcado():

str_palabra_seleccionada = elegir_palabra()

adivinar_palabra(str_palabra_seleccionada)

# Para jugar el juego, llama a la función jugar_ahorcado()

jugar_ahorcado()

También podría gustarte