Tutaj leży błąd.
Wiesz ile razy wykonujesz damage?
Masz 3 pętle.
1. 25 bloki na przód = 25 razy
2. każdy entity na każdym bloku (załóżmy 1 na blok) = 25*1
3. pętla 1000 razy. (integers between 1 and 1000 = 1000) = 25*1*1000 = 25000 .
I to nie koniec, bo ostatnia pętla wykonuje kod zadawania damage 1000 razy.
25+26+27+28+...+998+999+1000. I to wszystko trzeba zsumować.
Sobie z algorytmu możesz wyliczyć ile dostaje realnie.
Prosta matematyka.
Pozdrawiam #Knugi
Sorki trochę źle wytłumaczyłem, ale zasada podobna. Nie zawsze entity na każdej 1 pętli tylko gdy się znajduje w drugiej. Czyli jeżeli entity stoi pomiędzy 2 a 24 kratki przed tobą to bierze w pętle 3 razy, gdyż w drugiem petli mieści się w średnicy dwóch kratek:
Zatem będzie to:
3*1*1000 = 3000 zamiast 25000
i analogicznie trzeba to trzeba policzyć:
Ostatnia pętla algorytmicznie od 1 do 1000:
1001*500=500500
I to wykonuje max trzy razy: 1 501 500 damage.
// Dalej źle to wytłumaczyłem, ale masz problem z pętlami i logicznym ułożeniem damage. On Ci się podwaja troi i staje na głowie i zabija od razu