Witam!
Postanowiłem stworzyć grę strategiczną.
Wszystko szło dobrze, i nawet dalej idzie, lecz mam mały problem.
Chciałbym (w ataku) zaokrąglić liczbę do połowy, np jeżeli jest liczba 1,666(itd), zaokrągliło do 2, lecz 1,333(itd) zaokrągliło do 1,5.
Myślałem nad pomnożeniem przez 10, a potem z powrotem podzieleniu, lecz 1,33x10=13,3, czyli w zaokrągleniu 13, więc i tak by nie wyszło.
Gdybym miał jakieś inne problemy z grą, chciałbym pisać w tym temacie :)
0
0
Ehm...
round
...
A tutaj kod do zaokrąglania, który użyłem w moim systemie:
Function Round(const Value: Double): Integer;
Const C: Int64 = $18000000000000;{2^52 + 2^51}
Begin
Asm
fild c
fadd Value
fstp double(Result)
End;
End;
0
Patryk27 napisał(a)
Ehm...
round
Tak, ale to zaokrągla do pełnej liczby.
0
*2 Wtedy round potem /2...