python

Python: Tamagotchi con POO

El día de hoy vamos a resolver un ejercicio de programación en Python utilizando Programación orientada a objetos, también conocida como POO o como OOP.

Se trata de simular un Tamagotchi, la mascota virtual (o algo así, nunca tuve uno) en donde el mismo se debe alimentar, jugar, etcétera. El ejercicio dice así:

Elaborar una aplicación de línea de comandos en Python cuyo objetivo es emular un Tamagotchi usando Programación Orientada a Objetos. Todo personaje de Tamagotchi se basa es un animal y debe tener un nombre y género.

El nombre lo determina el usuario, y el género lo determina el sistema. El Tamagotchi tendrá una medición de hambre, de felicidad, y de salud. Las mediciones de hambre y de felicidad inician en 10, mientras que el de salud inicia en 0. Por cada turno que pase, se disminuye las mediciones de hambre y de felicidad en 1.

En cada evento se deben ejecutar una de las siguientes acciones: alimentar (incrementa medición de hambre 2 unidades), jugar (incrementa medición de felicidad 3 unidades), nada.

Si sobre alimentas a Tamagotchi, se incrementa la medición de salud en 2. No existe manera de decrementar la medición de salud. No existe manera de sobreexceder la medición de felicidad.

Cuando la medición de salud esté en 10, o la medición de felicidad esté en 0, o la medición de hambre esté en 0, el Tamagotchi muere y el juego termina.

Veamos entonces cómo simular esto usando clases y objetos en Python.

Explicación general

Lo que haremos será una clase con varios métodos que van a manejarse de acuerdo al planteamiento. Es cuestión de leer cuidadosamente lo que se solicita y hacer que el Tamagotchi en Python se comporte de esa manera.

Diseño de la clase

La clase queda como se ve a continuación. Fíjate en el constructor, pues en el mismo elegimos el género del Tamagotchi:

See the gist on github.

Vemos varios métodos. Por ejemplo, la función evento resta el hambre y la felicidad; y dependiendo de la acción invoca a jugar o alimentar. Estas funciones a su vez suben el nivel felicidad o de hambre, respectivamente.

También vemos la función muere, que regresa un booleano indicando si el Tamagotchi muere por alguna causa, ya sea salud, felicidad o hambre. Además, tenemos otra función que imprime el estado del Tamagotchi, es decir, sus niveles de hambre, felicidad y salud (así el jugador puede elegir lo que hace).

En el apartado del constructor vemos que se inician los valores y se elige el género, además de imprimirlo. Por cierto, este método recibe el nombre del Tamagotchi y lo guarda para usarlo más tarde.

Lo que falta ahora es crear un objeto a partir de la clase, y darle al usuario la posibilidad de interactuar con su mascota virtual.

Menú para Tamagotchi en Python

En el menú simplemente solicitamos al usuario el nombre de su mascota y hacemos un ciclo while que se traduce a algo como: mientras el Tamagotchi no muera, pregúntale al usuario lo que quiere hacer con él.

El código en Python queda así:

See the gist on github.

Al terminar el ciclo (Que es cuando el Tamagotchi ha muerto) simplemente imprimimos lo que ha pasado. Lo que ahora sí nos resta es invocar a la función main.

Poniendo todo junto

El código completo de esta simulación de Tamagotchi usando Python y la programación orientada a objetos queda así:

See the gist on github.

Yo estuve probando, se ve así:

Tamagotchi en Python – Simulación de mascota virtual con POO

Si tú quieres probar puedes ir a este enlace. También te dejo otro enlace para que explores más sobre Python.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

3 horas hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

4 horas hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

1 día hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Imprimir PDF generado con HTML

Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…

1 semana hace

Esta web usa cookies.