Lordis Opublikowano 3 Maja 2011 Udostępnij Opublikowano 3 Maja 2011 Witam! Mam problem siedzie juz nad tym troche i nie moge wykąbinować tymbardziej że już mi się wszystko miesza. Chciał bym zrobić losowy wybieranie położenia kilku obiektów lecz żeby sie nie powtarzały. To znaczy chodzi mi o coś takiego: Możliwości wylosowania GML x=choose(10,20,30,40,50); y=choose(10,20,30,40,50); do tego jest mam np. 5 obiektów (liczba obiektów można zmieniać) i program musi wylosować unikalne położenie dla każdego z tych obiektów (2 lub więcej obiektów nie moze być w tym samym miejscu). Wiem że kod na to jest banalny ale juz nie mam do tego siły siedze nad tym dobre 1h i ciągle jak nie wszystkie w jednym miejscu sie tworzą to mi wcina kilka obiektów itd. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
baca Opublikowano 3 Maja 2011 Udostępnij Opublikowano 3 Maja 2011 zrób to za pomocą tablic. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lordis Opublikowano 3 Maja 2011 Autor Udostępnij Opublikowano 3 Maja 2011 Wiem robie na tablicach, ale nei wiem jak zrobić żeby w losowaniu nie powtażał już użytej pozycji. Prosił bym o kod :D. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
baca Opublikowano 3 Maja 2011 Udostępnij Opublikowano 3 Maja 2011 To sprawdź w pętli czy dana pozycja nie została użyta. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
TheMarcQ Opublikowano 3 Maja 2011 Udostępnij Opublikowano 3 Maja 2011 GML for(i=0;i<5;i+=1){ p=instance_create(0,0,obiekt); with(p){ do{ x=choose(10,20,30,40,50); y=choose(10,20,30,40,50); }until(place_free(x,y)) } } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MagnusArias Opublikowano 3 Maja 2011 Udostępnij Opublikowano 3 Maja 2011 Stwórz sobie dwuwymiarową tablicę, w której zapiszesz wylosowaną pozycję, potem przy szukaniu kolejnej pozycji sprawdzaj, czy już istnieje w tablicy, jeśli nie to dodaj, jeśli tak, to powtórz czynność. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
zelman Opublikowano 3 Maja 2011 Udostępnij Opublikowano 3 Maja 2011 Albo przy kolizji usuwaj obiekt i losuj pozycję na nowo. Do skutku. Wiem, że debilny sposób, ale na upartego... można i tak. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lordis Opublikowano 4 Maja 2011 Autor Udostępnij Opublikowano 4 Maja 2011 @TheMarcQ Dzięki kod działa lekko go zmodyfikowałem i wszystko śmiga tak jak trzeba. @zelman Na taki pomysł to bym nie wladł chyba xD niby by działało ale korzystając z temtej pętli nie misi mi mielić tych obiektów tylko tworzy i juz :P Dzięki wszystkim za pomoc ;) 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ę