Skocz do zawartości

Pytanie odnosnie obliczen w tej grze


Anath

Rekomendowane odpowiedzi

basicConsumption * dystans / 35000 * ((szybkosc/ 10) + 1) * ((szybkosc / 10) + 1)) + 1

 

Brak jednego nawiasu (pomaranczowego otwierajacego)

 

Dystans to?.. Odleglosc w ukladach? A jak liczyc galaktyki?

A tak w ogole po co to liczyc? ^^

 

Ten pomaranczowy nawias zdaje sie byc zbedny.

A po co to liczyc? hmm... w zasadzie moj kalkulator liczy juz kilka przydatnych rzeczy i jest to pi***ola, ktora wydaje sie byc zbedna w chwili obecnej. Mam jednak pewien pomysl, do ktorego bedzie mi to potrzebne (liczenie reckow potrzebnych na pz).

 

basicConsumption = zuzycie paliwa staku * ilosc tych statkow

 

Nastepnie,

 

basicConsumption * dystans / 35000 * ((szybkosc/ 10) + 1) * ((szybkosc / 10) + 1)) + 1

 

Gdzie szybkosc liczymy:

 

jezeli mam ustawione:

100% = 10

90% = 9

 

Nastepnie wynik zaokraglamy w gore.

 

Juz na pierwszy rzut oka jest tu cos nie tak. 1 plus jakakolwiek liczba zaokraglona w gore daje w w sumie 2 a wiekszosc statkow na pz leci za 1 deuteru.

 

Inny przyklad:

140 Ultra transporterow na 100% predkosci:

basicConsumption=140*250=35000

szybkosc 100%

daje to nam nastepujacy wynik:

zuzycie_deuteru=dystans*(35000/35000)*(10/10+1)^2+1=dystans*4+1

 

Lot na PZ:

dystans=5 czyli:

zuzycie deuteru=5*4+1=21

gra pokazuje 22

 

Lot przez 100 ukladow:

dystans=12.200

zuzycie deuteru=12200*4+1=48801

gra pokazuje: 49047

Caly czas pracujemy na liczbach calkowitych, wiec zaokraglanie tu jest zbedne.

 

Excel i Delphi liczy tak samo, wiec w czym problem? :/

Odnośnik do komentarza
Udostępnij na innych stronach

ostateczny wynik jest zaokraglany w gore, wiec nie pracujemy na liczbach calkowitych, w przeciwnym wypadku jakakolwiek predkosc rozna od 100% czy tez dystans rozny od 35000 dawalby zuzycie 1.

 

a te 140ut mi leci na pz za 18 dexu ;)

 

Wiesz co to jest zaokraglanie? Skoro najmniejsza jednostka w tym przypadku jest cyfra calkowita (0-9) to zaokraglanie polega tu na podciagnieciu badz obnizeniu wyniku z ulamkiem do wlasnie tej wartosci calkowitej (w zaleznosci od zastosowanej funkcji zaokraglajacej: round, trunc, ceil...). Oba przyklady, ktore podalem sa tak skonstruowane, ze w toku przetwarzania zrodla/wzoru kompilator nie napotka na wartosc ulamkowa. Czyli zadnego zaokraglania w tym przypadku nie bedzie.

 

Bo jak Ty to sobie wyobrazasz? Kompilator w takich przypadkach rabie siekiera (badz innym tepym narzedziem:) wyniki posrednie tak by otrzymac ulamki a potem tylko w sobie znany sposob sklada je do kupy pomijajac wiory?

 

W sumie to nie wiem po co Ci to tlumacze, skoro To wielokrotnie zlozone zdanie przez Ciebie wyskrobane z punktu widzenia logiki, nie ma zadnego sensu :]

 

Jedyne co wnosisz to to:

a te 140ut mi leci na pz za 18 dexu ;)

Co mogloby oznaczac, ze wzor podany przez Deusx'a jest niekompletny i jest tam jeszcze jakas zaleznosc od np. poziomu napedu...

Odnośnik do komentarza
Udostępnij na innych stronach

Ja nie mowilem o twoim przykladzie tylko ogolnie. Nie mozna tutaj pracowac na liczbach typu Integer. Jesli twierdzisz ze to: 240.0 * 50.0 / 35000.0 * ((9.0/ 10.0) + 1.0) * ((10.0 / 10.0) + 1.0) + 1.0 da taki sam wynik jak to: 240 * 50 / 35000 * ((9/ 10) + 1) * ((10 / 10) + 1) + 1 to gratulacje panie logiczny.

Odnośnik do komentarza
Udostępnij na innych stronach

Ja nie mowilem o twoim przykladzie tylko ogolnie. Nie mozna tutaj pracowac na liczbach typu Integer. Jesli twierdzisz ze to: 240.0 * 50.0 / 35000.0 * ((9.0/ 10.0) + 1.0) * ((10.0 / 10.0) + 1.0) + 1.0 da taki sam wynik jak to: 240 * 50 / 35000 * ((9/ 10) + 1) * ((10 / 10) + 1) + 1 to gratulacje panie logiczny.

 

LoL, a skad ty to wywnioskowalas?!

Odnośnik do komentarza
Udostępnij na innych stronach

Integer: −2 147 483 648 — +2 147 483 647 (ze znakiem)

 

Ja mam 2mld (2 000 000 000) reckow, ich ilosc ledwie miesci sie w granicach zakresu integera, wiec ich pojemnosc czy koszt sporo go przekraczaja! Stad moj poprzedni post, szkoda, ze nie zalapales w czym problem :/

 

masz racje, nie bede dyskutowal z kims, kto programuje w Delphi

Przykro mi ze przerasta cie to, z tego co tu sie napociles wynika, ze nawet zaprogramowanie pralki nie jest prawdopodobnie twoja mocna strona. No coz... nie ty pierwszy i nie ostatni, ktory wypisuja bzdury tylko po to by statystyki na forum sobie podniesc :/ bo czym innym sa te glupoty przez ciebie wypisywane?!

Odnośnik do komentarza
Udostępnij na innych stronach

wytykasz mi bledy, wiec tez to zrobie:

 

Juz na pierwszy rzut oka jest tu cos nie tak. 1 plus jakakolwiek liczba zaokraglona w gore daje w w sumie 2 a wiekszosc statkow na pz leci za 1 deuteru.

0 zaokraglone w gore daje 0

LoL, a skad ty to wywnioskowalas?!

wklep sobie w kompilator to zobaczysz, a nie wysmiewasz, nie znajac podstawowych rzeczy i zachowania kompilatorow w przypadku operacji na liczbach calkowitych.

Stad moj poprzedni post, szkoda, ze nie zalapales w czym problem :/

pewnie nie wiesz, ze jest jeszcze cos takiego jak integer 64-bitowy, o znacznie wiekszym zakresie

Przykro mi ze przerasta cie to, z tego co tu sie napociles wynika,

ze nawet zaprogramowanie pralki nie jest prawdopodobnie twoja mocna strona.

nie zajmuje sie programowaniem sprzetu i nie wiem co chciales osiagnac tym tekstem

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Musisz zaakceptować regulamin Warunki użytkowania.