Makary155 Opublikowano 6 Sierpnia 2011 Udostępnij Opublikowano 6 Sierpnia 2011 Dałem tutaj, gdyż raczej nie pasuje do pozostałych działów. Robię sobie grę strategiczną, buduje się kopalnie, baraki itd. Wymyśliłem sobie że budynki można upgrade'ować. Problem w tym że każdy poziom budynku ma kosztować więcej. Na przykład mam sobie kopalnię. Pierwszy poziom kosztuje 1000golda, 10 surowca1 oraz 20 surowca2. Teraz chcę żeby każdy następny kosztował odpowiednio 1000golda, 10 i 20 surowca więcej od poprzedniego. Obliczanie ile surowca potrzebne do ulepszenia do danego poziomu jest proste(n-ty wyraz ciągu i suma wyrazów), tylko mam problem w drugą stronę - nie wiem jak obliczyć ile poziomów można kupić mając daną ilość surowców. Pomoże ktoś? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Threef Opublikowano 6 Sierpnia 2011 Udostępnij Opublikowano 6 Sierpnia 2011 GML if((poziom_budynku+1)*1000>=gold and (poziom_budynku+1)*10>=surowiec1 and (poziom_budynku+1)*20>=surowiec2) { //Można kupić } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
waxx Opublikowano 6 Sierpnia 2011 Udostępnij Opublikowano 6 Sierpnia 2011 Podstaw wartosc liczby surowcow do wzoru na n-ty wyraz ciagu i oblicz n, zaokragl w dol do zwyklego inta. To samo z drugim surowcem. Wybierz mniejsza liczbe. I masz juz ten twoj maksymalny poziom upgradu na jaki cie stac ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Sernat Opublikowano 6 Sierpnia 2011 Udostępnij Opublikowano 6 Sierpnia 2011 Pierwszy surowiec (z drugim chyba sam dasz radę ;)) to ciąg arytmetyczny wyrażony wzorem: f(x) = (x+1) * 10 Wzór na sumę ciągu arytmetycznego: 10 + 20 + 30 + 40 + 50 + ... + n * 10 = 10( n(n+1)/2 ) = 5n(n+1) Załóżmy, że masz k kasy. k = 5n(n+1) k = 5n^2 + 5n Po wyznaczeniu delty funkcji kwadratowej możemy wyznaczyć wartość +-n. Ta da! n = 1/10( pierw(5) * pierw(4k+5) - 5 ) Oczywiście n należy zaokgrąglić w dół. Edit: Ok, podam ci także wzór dla drugiego surowca. Wzór na cenę dla drugiego to: g(x) = (x+1) * 20 Suma = 20 + 40 + 60 + ... + n * 20 = ( n(n+1) / 2 ) * 20 = 10n(n+1) Masz k kasy. Za k kasy możesz kupić n upgrade'ów: k = 10n(n+1) Po rozwiązaniu: n = 1/10( pierw( 5 ) * pierw( 2k + 5 ) - 5 ) Warto uczyć się matmy! Pozdro ;) ! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 6 Sierpnia 2011 Autor Udostępnij Opublikowano 6 Sierpnia 2011 THX ludzie, 3 lata bez matmy robi swoje. Chyba pora wybrać się na jakieś studia bo w końcu pozapominam wszystko. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się