Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fórmula en el método atacar en tributo #160

Closed
7 tasks done
Fernanda1232123 opened this issue Oct 3, 2021 · 8 comments
Closed
7 tasks done

Fórmula en el método atacar en tributo #160

Fernanda1232123 opened this issue Oct 3, 2021 · 8 comments
Assignees
Labels
Tarea 1 Dudas sobre la T1

Comments

@Fernanda1232123
Copy link

Prerrequisitos

  • Leí las reglas del foro (Problema Visual Studio Code Syllabus#1)
  • Busqué en las issues si ya preguntaron mi duda y no encontré nada parecido (https://github.com/IIC2233/syllabus/issues)
  • Revisé el compilado de dudas de la tarea y no encontré una issue similar a la mía (Problema con los test de cambiar_plano Syllabus#111)
  • Mi duda no se trata sobre una librería, built-in o mala práctica, ya que eso se pregunta en la issue creada para ello.
  • Mi duda no se trata de un tema administrativo o personal, ya que en ese caso debo contactar a mi profe, al Jefe de Bienestar o al correo del curso (https://iic2233.github.io/contacto/)
  • Utilizaré un título descriptivo y llenaré correctamente esta plantilla
  • De ser necesario, solo colocaré código simple que permita explicar mi problema o duda, ya que compartir código de esta evaluación puede ser considerado copia

Duda

La fórmula matemática del método atacar en tributo es
min ( 90, max ( 5, (60 * fuerza + 40 * agilidad + 40 * ingenio - 30 * peso)/edad))
esto dice que el daño producido es mínimo 90, ¿y máximo cuánto? ¿Qué significa ese 5 en max(5, ...)?

@Fernanda1232123 Fernanda1232123 added the Tarea 1 Dudas sobre la T1 label Oct 3, 2021
@1862507J 1862507J self-assigned this Oct 3, 2021
@1862507J
Copy link

1862507J commented Oct 3, 2021

TL;DR: min(a,b) retorna el valor más pequeño entre a y b, y max(c,d) retorna el valor más grande entre c y d.

Hola!. Lo que dice esa fórmula es que el daño será el mínimo entre 90 y, el máximo entre 5 y (60 * fuerza + 40 * agilidad + 40 * ingenio - 30 * peso)/edad). Eso significa que el daño máximo que uno puede hacer es 90 y el mínimo es 5.

Para verlo más claramente tomemos que la fuerza, agilidad, ingenio y peso del atacante serán de un valor de 0. En ese caso 60 * fuerza + 40 * agilidad + 40 * ingenio - 30 * peso)/edad valdrá 0, y la función queda como min(90, max(5,0)). max eligirá el valor más grande (5) por lo que ahora solo quedará min(90,5) y min eligirá al valor más pequeño, por lo que el daño terminará como 5.

Como caso contrario, si tomamos valores de fuerza, agilidad e ingenio muy altos para que 60 * fuerza + 40 * agilidad + 40 * ingenio - 30 * peso)/edad quede mayor a 90, entonces min(90, ...) se quedará con 90 como valor y luego max(5,90) tomará como valor 90.

Como extra, si usan max y min de pytohn, no necesariamente toma como argumentos solo dos valores. Puede ser cualquier iterable
Espero que se haya entendido mejor como funcionan max y min 😁 .

@Fernanda1232123
Copy link
Author

Perfecto, gracias.
Y no sé si es respondible esta pregunta, pero te las pregunto igual por si me las puedes responder
¿Qué librería es esa para usar min y max?
¿La fórmula se puede escribir tal cual está o es necesario separarla?
Gracias!

@1862507J
Copy link

1862507J commented Oct 3, 2021

max y min vienen por defecto en python, asique no debes instalar o importar absolutamente nada si es que vas a usarlas 😁.
En cuanto a la fórmula, lo ideal es que ustedes testearan-probaran como formarla. Lo más importante es que cumpla la fórmula de daño que pide el enunciado.

@Fernanda1232123
Copy link
Author

Buenísimo, gracias

@vice-rosas99
Copy link

hola, una duda con la fórmula, se debe sacar el numero entero que entregue la formula para restarlo a la vida del tributo a atacar verdad?

@1862507J
Copy link

1862507J commented Oct 7, 2021

Hola! lamento la demora.
Lo más importante es que la vida siempre sea un int (que nunca se transforme a un float durante las simulaciones, ya que el enunciado pide que la vida sea un int). Por lo tanto, es recomendable pasarlo a int antes de sumarlo a la vida, para evitar posibles errores pero es posible sumarlo el daño como float y luego transformar la vida a int.

@XXiaoR
Copy link

XXiaoR commented Oct 8, 2021

Hola! La fuerza, agilidad, ingenio, peso y edad de formula para calcular el daño pertenecen al tributo que voy a atacar o al tributo "yo" ?

@1862507J
Copy link

1862507J commented Oct 8, 2021

Hola! Pertenecen al tributo que ataca ⚔️. El tributo que recibe el daño 🛡️ solo mira como su vida baja (osea, no aporta nada a la formula).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Tarea 1 Dudas sobre la T1
Projects
None yet
Development

No branches or pull requests

5 participants