TOPIC
Wrong Answer 15%
lbarcella asked 2 years ago
(retirei a entrada de dados da descrição poiso codigo era maior q o limite).
...
distancia[0] = sqrt(pow((double)Xeu - Xi, 2) + pow((double)Yeu - Yi, 2));
distancia[1] = sqrt(pow((double)Xeu - (Xi + base_inimigo), 2) + pow((double)Yeu - Yi, 2));
distancia[2] = sqrt(pow((double)Xeu - Xi, 2) + pow((double)Yeu - (Yi + altura_inimigo), 2));
distancia[3] = sqrt(pow((double)Xeu - (Xi + base_inimigo), 2) + pow((double)Yeu - (Yi + altura_inimigo), 2));
for(int i = 0; i < 4; i++){
if(i == 0){
menor = distancia[i];
}else if(distancia[i] < menor){
menor = distancia[i];
}
}
if(strcmp(magia, fire) == 0){
int dano = 200;
if(nivel == 1){
raio = 20.0;
}else if(nivel == 2){
raio = 30.0;
}else{
raio = 50.0;
}
if(raio >= menor){
printf("%d\n", dano);
}else{
printf("0\n");
}
}else if(strcmp(magia, water) == 0){
int dano = 300;
if(nivel == 1){
raio = 10.0;
}else if(nivel == 2){
raio = 25.0;
}else{
raio = 40.0;
}
if(raio >= menor){
printf("%d\n", dano);
}else{
printf("0\n");
}
} else if(strcmp(magia, earth) == 0){
int dano = 400;
if(nivel == 1){
raio = 25.0;
}else if(nivel == 2){
raio = 55.0;
}else{
raio = 70.0;
}
if(raio >= menor){
printf("%d\n", dano);
}else{
printf("0\n");
}
}else if(strcmp(magia, air) == 0){
int dano = 100;
if(nivel == 1){
raio = 18.0;
}else if(nivel == 2){
raio = 38.0;
}else{
raio = 60.0;
}
if(raio >= menor){
printf("%d\n", dano);
}else{
printf("0\n");
}
}
}
return 0;
}