Gra - zaokrąglanie liczb

0

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

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...

1 użytkowników online, w tym zalogowanych: 0, gości: 1