Documente Academic
Documente Profesional
Documente Cultură
Fundamentos de Programación
Proyecto Primer Parcial
Paralelo 29 y 33
Objetivos:
El objetivo del proyecto es darle a usted más experiencia en el manejo de estructuras de control,
listas y el manejo de la librería Numpy.
Descripción:
Las personas que lo contratan a usted le dan un archivo llamado personajes_info.txt que tienen
la información de los personajes del juego. Cada línea del archivo contiene información de un
personaje, con los campos en la línea separados por comas (,). Los campos en una línea son:
name,counter,sprintSpeed,reflector,fallSpeed,walkSpeed,airSpeed,projectile,weight ,attack_power,image
dónde:
Bowser, false, 14, false, 33, 44, 28, true, 120, 20, bowser.png
Lo primero que usted debe hacer es procesar la información en la lista personajes y a partir de
esa información crear las siguientes listas:
Para el resto del programa debe trabajar con las listas creadas (nombres, velocidades,
proyectiles, contrataque, pesos, imágenes) y no con la lista de personajes
Después de crear las listas, el programa debe mostrar un menú numérico con las siguientes
opciones:
1. Ingresar nuevo personaje
2. Editar información de personaje
3. Consultar Información de personajes
4. Simular Batalla
5. Salir
El menú debe ejecutarse de forma continua. El usuario ingresa una opción, se realiza la
opción y se regresa al menú principal.
A continuación, la descripción de que hace cada opción:
Consultar Personajes
Velocidad en aire (inicio - fin):
Velocidad en tierra (inicio - fin):
Poder de ataque (inicio - fin): 15.00 – 30.00
Proyectil (s/n): s
En el caso anterior se obtienen los personajes que tienen poder de ataque entre 15 y 30 y que
tienen proyectil. Como no se ingresó nada en los filtros de Velocidad en aire y Velocidad en
tierra, no se filtra por esos valores.
4. Simular Batalla
En esta opción el usuario debe ingresar dos nombres de personajes del juego y el tipo de
escenario en la que se quiere pelear y a continuación el programa le debe mostrar los puntos
de juego de cada personaje basado en las estadísticas del juego.
Punto de Pelea: Puntos de ataque de un personaje más 10 puntos extras si el personaje tiene
proyectil más 10 puntos si el personaje tiene contraataque.
Puntos de Movilidad: (0.5 por Velocidad en aire + Velocidad en tierra + Velocidad en aire
* Porcentaje de plataformas en el escenario) / 2.
Debe mostrar los Puntos de Pelea, Puntos de Movilidad y Puntos de Juego de cada
personaje. Gana el personaje que tenga más puntos de juego.
Rúbrica
El proyecto corresponde la 20% de su nota teórica del primer parcial.
Parte 1 – 15 puntos
Parte 2 – 5 puntos (PRONTO)
Fecha de entrega
Parte 1 – martes 19 de junio, 23:55 pm
Parte 2 – domingo 24 de junio, 23:55 pm
Consideraciones Generales
El proyecto debe ser realizado en grupo de 2 estudiantes. Si se detecta copia parcial o total
del código del proyecto todos los grupos involucrados tendrán 0.
Si el programa se cae tendrá 1 punto menos por cada caída hasta un máximo de 3 puntos
Si el programa no está correctamente comentado tendrá hasta 2 puntos menos. Correctamente
comentado no significa poner un comentario en cada línea de código, pero si en secciones
nuevas de código o parte de código que necesita explicación. Use su criterio.
Todas las opciones del menú deben tener la opción de regresar al menú anterior.
Se valorará la presentación del proyecto y su interacción. Revisar
https://docs.python.org/3/library/string.html#formatstrings