Skocz do zawartości

PitStop i sesja kwalifikacyjna


pazio

Rekomendowane odpowiedzi

witajcie to znowu ja

czekając na odpowiedź dotyczącą punktów postanowiłem że zabiorę się za sesję kwalifikacyjną oraz zrobię aleje serwisową czyli pitstop

 

jakoś marnie to wychodzi ale udało mi się zrobić prosty licznik ,który nie chce się zatrzymać :rolleyes: :rolleyes: :rolleyes:

 

a teraz jednak mam takie dwa pytanka

 

1)jak zrobić by po okrążeniu przeze mnie wykonanym licznik wyświetlał czas przejechany moim bolidem?

 

2)jak zrobić by AI wbijał do alei serwisowej i zmieniał opony(oczywiście co kilka okrążeń)

 

byłbym bardzo szczęśliwy jakby ktoś wytłumaczył to np.pokazując za pomocą kodów

albo przykładem

 

czekam i pozdrawiam

Odnośnik do komentarza
Udostępnij na innych stronach

oj, oj.

wiem ze to nie odpowiedz, ale zaraz bedziesz nam kazał zrobić całą grę.

zrób najpierw jakąś inną gierke topdown, prostą

strzelanie, chodzenie, jakieś proste boty, przełączanie dzwigni, otwieranie drzwi...

 

1)przy przejechaniu okrążenia zapisuj czas do zmiennej napis po czym zeruj zmienna czas

przez cały czas jak bolid jedzie dodawaj do zmiennej czas okreslona ilosc(sekundy czy milisekundy)

poprzekroczeniu mety

napis=czas

czas=0

i ponownie

2)bardziej rozbudowane zagadnienie

na poczatku wylosuj sobie co ile zmienia koła, czy cokolwiek np. zamiana_co_ile=4+random(8) div 1

i wtedy if okrazenie= zmiana_co_ile div okrazenie to wjedzie do "PitStopu"

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

1) Przepisywać zmienną z aktualnym czasem do zmiennej ktora pokazuje ostatni czas mijając metę

2) zrobić ifa który w odpowiednim momencie nakazuje skręcic. Ciężko powiedzieć, są setki sposobów na AI jazdy do wyścigów, dobierz coś najlepszego dla siebie :)

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
Bo w GM:Studio trzeba używać randomize() żeby gra wybierała co uruchomienie nowy seed. ;) random() też będzie zwarać te same liczby.

 

Nie trzeba. Jak testujesz, to zawsze jest seed ten sam ustawiony, żeby było łatwiej debugować, więc MOŻNA na czas testowania dodać, ale w finalnej wersji nie jest potrzebne.

Odnośnik do komentarza
Udostępnij na innych stronach

Wait, what? Jestem prawie pewien że to działa jak wszędzie. W dokumentacji na ten temat nic nie ma. A chociażby robiąc grę na Pixel Heaven mój ostatni build (bez randomize()) był z takim seedem że gracz ginął w pierwszej sekundzie gry.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy
Wait, what? Jestem prawie pewien że to działa jak wszędzie. W dokumentacji na ten temat nic nie ma. A chociażby robiąc grę na Pixel Heaven mój ostatni build (bez randomize()) był z takim seedem że gracz ginął w pierwszej sekundzie gry.

 

 

http://docs.yoyogames.com/source/dadiospic.../randomize.html

 

Please note, that when using the random number functions in GameMaker: Studio the initial seed is always the same, as this makes tracing errors and debugging far easier. Should you wish to test with true random, you should call this function at the start of your game.
Odnośnik do komentarza
Udostępnij na innych stronach

dzięki wam wszystkim

 

ale czemu ten kod który napisałem był zły

nawet jak zrobiłem random(100) to też źle było

 

a wykombinowałem że jeśli mam path do bolidu ai to skopiuje go i ten drugi będzie wybierany losowo ale niestety tylko mój bot używa tego pierwszego path'a

Odnośnik do komentarza
Udostępnij na innych stronach

:rolleyes: :rolleyes: :rolleyes: xD

chodziło mi o to że jeżeli path się rozpocznie i mój bot przejedzie ten path to path_end(zakończy się path)i będzie wybierany losowo (random = path_start = rai1)

 

bo mi chdzi o to że po zakończeniu tego patha(wystartuje i dojedzie do końca)to żeby następny był wybierany losowo

Odnośnik do komentarza
Udostępnij na innych stronach

random(), path_start() i path_end() to funkcje. Funkcjom nie przypisuje się wartości, one je zwracają na podstawie argumentów które podajesz w nawiasie. Sprawdzenie

GML
if(path_position=1)
powie czy obiekt pokonał całą drogę i dotarł do końca. Jeżeli się tak stanie wtedy możesz wylosować nowy path tak jak radzi kriso99, używając choose.
Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...