Universidad San Carlos de Guatemala
Programador: Marcelo André juarez Alfaro
Carne: 202010367
Correo: mjuarez2017ig@gmail.com
El proyecto de PetManager es un sistema de gestión de mascotas diseñado para administrar y cuidar gatos virtuales. El sistema permite a los usuarios crear, interactuar y controlar las actividades de sus gatos virtuales a través de comandos definidos en un archivo de texto.
Los gatos virtuales pueden realizar una serie de acciones, como correr, comer y jugar, cada una de las cuales afecta su nivel de energía. El sistema registra estas interacciones y proporciona retroalimentación al usuario sobre el estado y las actividades de sus mascotas.
- Objetivo General
- Desarrollar un sistema de gestión de mascotas (PetManager) que permita a los usuarios interactuar con gatos virtuales mediante comandos definidos en un archivo de texto, proporcionando una experiencia de cuidado de mascotas virtual.
- Objetivos Específicos
- Diseñar e implementar un mecanismo de lectura y procesamiento de comandos desde un archivo de texto, permitiendo a los usuarios crear, interactuar y controlar las actividades de sus gatos virtuales de manera eficiente.
- Realizar pruebas exhaustivas para cada módulo y para el sistema en su conjunto.
- Desarrollar un mecanismo de lectura de archivos
El programa PetManager ofrece una variedad de funcionalidades diseñadas para la gestión y el cuidado de gatos virtuales. Estas funcionalidades incluyen:
-
Interacción mediante Comandos:
- Los usuarios pueden interactuar con los gatos virtuales a través de comandos definidos en un archivo de texto.
- Los comandos permiten a los usuarios realizar acciones específicas, como alimentar, jugar y obtener información sobre sus gatos virtuales.
-
Creación de Gatos Virtuales:
- Permite a los usuarios crear gatos virtuales proporcionando un nombre único para cada gato.
-
Alimentación de Gatos:
- Permite a los usuarios alimentar a los gatos virtuales proporcionándoles comida en forma de ratones virtuales.
- El gato aumenta su energía después de comer, pero si su energía cae a cero, el gato muere.
-
Realización de Actividades Físicas:
- Los gatos virtuales pueden correr, lo que afecta su energía dependiendo de la distancia recorrida.
-
Generación de Informes:
- Proporciona informes detallados sobre el estado y las actividades de cada gato virtual.
- Los informes incluyen detalles sobre la energía actual del gato, su estado vital (vivo o muerto) y su historial de actividades.
-
Resúmenes Globales:
- Ofrece resúmenes globales que muestran el estado general de todos los gatos virtuales creados por el usuario.
-
Generación de Gráficos Visuales:
- Utiliza la biblioteca Graphviz para generar gráficos visuales que representan el estado y las actividades de cada gato virtual.
El sistema se desarrollará para funcionar en computadoras de escritorio convencionales.
Se requiere un hardware típico de oficina, que incluye una CPU con al menos un procesador de doble núcleo, 8 GB de RAM y 10 GB de espacio de disco duro para el almacenamiento de datos y el software del sistema.
El sistema de desarrollará principalmente para funcionar con sistemas operativos Windows (10/11).
Se utilizará el lenguaje de programación de Python en todo el proyecto.
Se utilizará entorno de desarrollo integrado (IDE) Visual studio code.
Se utilizó herramientas adicionales de desarrollo, como Git para el control de versiones
A continuación, se describirá las funcionalidades con las cuales cuenta el proyecto, estas incluyen una imagen del código y una descripción breve de como esta funciona.
-
-
Permite la creación y gestión de gatos virtuales en el sistema. Los gatos virtuales tienen la capacidad de correr, comer, jugar, y proporcionar un resumen de su estado.
-
Constructor:
- La clase Gato tiene un constructor init que recibe el nombre del gato como parámetro. Inicializa los atributos del gato, incluyendo su nombre, energía y estado (vivo).
- El gato se agrega a la lista de gatos creados.
-
Correr:
- El método correr(metros) permite que el gato virtual corra una cierta distancia en metros. La energía del gato disminuye en la mitad de los metros recorridos.
- Si la energía del gato llega a cero o menos, el gato muere.
-
Comer:
- El método comer(peso_ratón) permite que el gato virtual coma un ratón. Aumenta la energía del gato en una cantidad determinada según la fórmula proporcionada.
- Si el gato está muerto, no puede comer.
-
Jugar:
- El método jugar(tiempo_minutos) simula que el gato virtual juega durante un tiempo especificado en minutos. La energía del gato disminuye con el tiempo de juego.
- Si la energía del gato llega a cero o menos, el gato muere.
-
Resumen:
- El método resumen() proporciona un resumen del estado actual del gato, incluyendo su nombre, energía, tipo (Gato) y estado (vivo o muerto).
-
Resumen Global:
- El método de clase resumen_global(cls) recorre la lista de todos los gatos creados y genera un resumen del estado de cada gato.
-
-
-
Función menú()
-
Función modulPet()
-
Función leerArchivoPetManager()
-
Función procesarComandosPetManager(comandos)
- se encarga de interpretar y ejecutar los comandos proporcionados por el usuario en el módulo PetManager del programa. Estos comandos están diseñados para crear, alimentar, jugar y obtener resúmenes de las mascotas dentro del sistema.
- Por medio de un diccionario y abre un archivo de salida en modo escritura.
- Empieza con la generación de la gráfica
-
Función generar_grafico(nombre_gato, energia, estado)
-
Rendimiento:
- El sistema debe ser capaz de manejar grandes volúmenes de datos de manera eficiente, garantizando tiempos de respuesta rápidos incluso en situaciones de carga máxima.
- La generación de gráficos y reportes debe ser rápida y no debe afectar significativamente el rendimiento general del sistema.
-
Usabilidad:
- La interfaz de usuario debe ser intuitiva y fácil de usar para propietarios de mascotas de cualquier nivel de experiencia.
- El sistema debe ser accesible desde múltiples dispositivos y plataformas, incluyendo computadoras de escritorio, dispositivos móviles y tabletas.