Hriser Opublikowano 29 Marca 2007 Udostępnij Opublikowano 29 Marca 2007 Chcę aby komputer sam losował pozycje pojawienia sie objektu ale nie z przedziału "od-do" tylko między konkretnymi pozycjami np. x=20,50 albo 80 a y=100,200 albo 300. Tylko... jak to zrobić? :D Liczę na Waszą pomoc... :rolleyes: ... i wiedzę :D dz :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 29 Marca 2007 Administratorzy Udostępnij Opublikowano 29 Marca 2007 jeżeli z zakresu to: x=20+round(random(30)); Minimum w tym przypadku to 20, max to 50. a jeżeli z tcyh trzech to: var los; los=ceil(random(3)); switch los { case 3: 80; break; case 2: 50; break; default: 20; break;//tak jakby case 1 } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hriser Opublikowano 29 Marca 2007 Autor Udostępnij Opublikowano 29 Marca 2007 yyyy... nie kapuje ;P inaczej [bo jak to wklejam to sie pierniczy ;P ]: objekt ma sie pojawić losowo w takich miejscach: x=112 y=208 x=464 y=208 x=464 y=80 x=112 y=80 i teraz napisz mi co, do czego przypisać, żeby było dobrze :D pliz :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 29 Marca 2007 Administratorzy Udostępnij Opublikowano 29 Marca 2007 no tak tam błąd się wkradł mały do tego :P ale to ma być jakoś tak: var los; los=ceil(random(4)); switch los { case 4: x=112; y=208; break; case 3: x=464; y=208; break; case 2:x=464; y=80; break; default: x=112; y=80; break; } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Hriser Opublikowano 29 Marca 2007 Autor Udostępnij Opublikowano 29 Marca 2007 WIELKIE DZIĘKI :D POZDRO ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
spyro Opublikowano 29 Marca 2007 Udostępnij Opublikowano 29 Marca 2007 Cytując: "Rozwiązanie już padło, ale ja podam alternatywne:" A nie lepiej na choose to dać ? Choose ci wybiera liczby jakie podasz w nawiasie, np. x = choose(112, 464), a y = choose(208,80) i wszystko: masz to na dwie prościutkie funkcje i cała zabawa :D A nie się w jakieś switchy bawić xP (nie obrażając jednocześnie autora cytatu xD)... Jednakże tak jak ty to chcesz zrobić to działa raczej na dwie zmienne, bo przy większej ilości będzie więcej niechcianych kombinacji :] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
pablo1517 Opublikowano 29 Marca 2007 Udostępnij Opublikowano 29 Marca 2007 Ludzie! Nie używajcie w tym przypadku ceil and floor -_- przy ceil zmniejszacie szanse na wylosowanie 0 na minimum! A przy floor zmniejszacie szanse na wylosowanie liczby w nawiasie po funkcji np(floor(TA_LICZBA)) Floor zaokrągla tylko w dół a ceil tylko do góry :/ czyli jak macie 0.1 to wam zrobi z tego 1. Używajcie round(x); To jest lepsze bo wam zaokrągla według ogólnej zasady zaokrąglania od <=0.4(9) w dół a od >=0.5 w górę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 29 Marca 2007 Administratorzy Udostępnij Opublikowano 29 Marca 2007 zauważ, że brakuje case 1: - zastąpiłem je default - właśnie z powodu ceil. Funkcja którą tu napisałem, to inaczej klocek z kostką do gry. 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ę