Grzegosz_X Opublikowano 30 Marca 2010 Opublikowano 30 Marca 2010 Do późna w nocy robiłem pracę na plastykę. Aż tu nagle przyszłą mi do głowy myśl... 1.Gracz A odpala grę X, gracz B też ją odpala. A stawia serwer a B na niego wchodzi, Tutaj pojawia się problem czy można zrobić losowanie liczb żeby u obu graczy za każdym wywołanie funkcji random() zwracała tę samą liczbę obu? Ofc za każdym razem ta liczba będzie inna i z danego przedziału, ale żeby u obu się losowała ta sama? Da się tak zrobić, a jak tak to jak? 2.Czy istnieje wbudowana funkcja w GM która sprawdza 'istnienie' danych obiektów na danej przestrzeni i czy można wyciągnąć listę tych obiektów? 3.Znajdowanie drogi na grafie, zna ktoś algorytm na znajdowanie drogi w takowym(mile widziana opcja znalezienia kilku dróg). Pomocy!
pablo1517 Opublikowano 30 Marca 2010 Opublikowano 30 Marca 2010 Losuj liczbę po stronie serwera, a następnie wysyłaj ją do pozostałych graczy. Dla efektu, możesz zasymilować losowanie po stronie klientów. To zależy co to za losowanie :P.
Grzegosz_X Opublikowano 30 Marca 2010 Autor Opublikowano 30 Marca 2010 No właśnie chciałbym uniknąć wysyłania tej liczby. zasymilować? : O
Administratorzy gnysek Opublikowano 31 Marca 2010 Administratorzy Opublikowano 31 Marca 2010 randseed = wartość. Chyba nie. W GML będzie to: GML random_set_seed(seed) Ustaw tego samego seeda w obu, sprawdź, jeżeli co stały okres czasu losujesz powinny być te same liczby. Nie wiem tylko, czy inna prędkość procesora tego nie zaburzy, nie mam teraz czasu sprawdzić.
PsichiX Opublikowano 31 Marca 2010 Opublikowano 31 Marca 2010 inny czas startu systemow obu kompow i inne wyniki
Dacus Opublikowano 31 Marca 2010 Opublikowano 31 Marca 2010 Po ustawieniu tego samego seeda, kolejne randomy będą takie same(przynajmniej powinny).
PsichiX Opublikowano 31 Marca 2010 Opublikowano 31 Marca 2010 inny czas startu systemow obu kompow i inne wyniki nom
Snake Opublikowano 31 Marca 2010 Opublikowano 31 Marca 2010 Dacus ma rację, kolejne wywołania random z tym samym seedem będą zwracać te same wartości. Odstęp czasu pomiędzy wywołaniami i czas startu systemu nie ma tu nic do rzeczy.
PsichiX Opublikowano 31 Marca 2010 Opublikowano 31 Marca 2010 to gm ma jakies inne rozwiazanie na random niz pobranie seeda z czasu systemowego na starcie aplikacji? znaczy sie ja myslami jestem ciagle w gm6. Pamietam jak kiedys probowalem uzyskac w gm6 ten sam random odpalajac aplikacje pod rzad, i nie szlo, nie pamietam tylko czy resetowalem kompa czy niet :D przetestuje w domu to jeszcze ;)
Czyz Opublikowano 31 Marca 2010 Opublikowano 31 Marca 2010 Miałem ten sam problem, opcja z seedem go rozwiązała :)
PsichiX Opublikowano 1 Kwietnia 2010 Opublikowano 1 Kwietnia 2010 w gm6 jednak seed musi byc pobierany z czasu dzialania systemu (milisekundy po odpaleniu systemu) na starcie aplikacji, zrobilem test i po odpaleniu 2 razy tego samego testu wyniki sa rozne: 0.94 0.48 0.45 0.72 0.16 0.84 0.52 0.84 0.22 0.67 0.28 0.77 0.95 0.26 0.42 0.21 0.65 0.60 0.27 0.02 EDIT: Fakt faktem, gm6 nie mial mozliwosci ustawienia seeda wiec ten standardowy sposob jest najlogiczniejszy.
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ę