franciscogazitua / IIC2113-2024

Consultas sobre el proyecto en las Issues
2 stars 0 forks source link

¿Comparación de HP con double o int? #97

Open FranciscoPinto1138 opened 3 weeks ago

FranciscoPinto1138 commented 3 weeks ago

Holaa, tengo una duda respecto a la condición de que HP tenga un cierto valor. Para casos porcentuales, durante las tres primeras entregas usé int para la comparación, es decir, comparaba el HP actual de la unidad con (int)(unit.HPMax * (_threshold / 100.0)). Sin embargo, al implementar las skill Push de la E4, me fijé que me fallaba un test (E4_1-031) precisamente por hacer este redondeo, ya que al tomar en cuenta decimales la unidad no cumplía la condición de "si el HP de la unidad >= 25%". Pero cuando cambié la condición para que comparara doubles usando solo unit.HPMax * (_threshold / 100.0), si bien se arregló E4_1-031, ahora fallaba E3-Random-043, debido a la condición de la skill Moon Twin-Wing de Roy. Intentando debuggear me di cuenta que era por el motivo opuesto, ya que si no se redondeaba no se cumplía la condición. ¿Qué se puede hacer? Pareciera ser que no se puede pasar un test sin fallar el otro jajaja Gracias de antemano.

RodrigoToroIcarte commented 3 weeks ago

Mira el enunciado de la E3. Ahí pusimos lo siguiente :)

Screenshot from 2024-06-10 22-55-40

... yo usé esa regla en mi código y logré pasar todos los test cases.

FranciscoPinto1138 commented 3 weeks ago

Usé esa fórmula y me funcionó, gracias!