Niran Opublikowano 13 Listopada 2013 Udostępnij Opublikowano 13 Listopada 2013 Witajcie, Tworzę grę w rzucie ala bomberman i mam wielki problem osoby początkującej. Mianowicie potrzebuję stworzyć w kodzie taki schemat: postać porusza się o 32 punkty (szerokość jednej kratki) w tempie =x w jakimś kieruku np. w prawo po czym zatrzymuje się, losuje 1 z 4 kierunków i znów porusza się o 32 punkty w wylosowanym kierunku itd. Czy byłby ktoś tak miły i mógłby mi w tej kwestii pomóc? Z góry bardzo dziękuję :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Mateusz Nejman Opublikowano 14 Listopada 2013 Udostępnij Opublikowano 14 Listopada 2013 To jest taki przykład: GML jakaszmienna = round(choose(1,2,3,4)); switch(jakaszmienna) { case 1: y=y-32;//W górę break; case 2: y=y+32;//W dół break; case 3: x=x-32;//W lewo break; case 4: x=x+32;//W prawo break; } Wybiera liczbę z przedziału 1 do 4, po czym idzie w wybranym kierunku Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am vader Opublikowano 14 Listopada 2013 Udostępnij Opublikowano 14 Listopada 2013 Mateusz.. 1.Round nie jest potrzebny bo używasz choose więc wystarczy samo GML choose(1,2,3,4); 2.To to samo co GML irandom(3)+1 które jest łatwiejsze bo zawiera tylko liczby całkowite od 1 do n+1 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 14 Listopada 2013 Udostępnij Opublikowano 14 Listopada 2013 idąc dalej GML y=y+32 GML y += 32 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Niran Opublikowano 18 Listopada 2013 Autor Udostępnij Opublikowano 18 Listopada 2013 wstawiłem coś takiego, nie rozumiem tylko czemu: -postać zawsze korzysta z case 2 i 4 ?! -porusza się strasznie wolno i skokowo GML losowy_kierunek = choose(1,2,3,4); switch(losowy_kierunek) { case 1: y-=1;//W górę if y=-64 then break; //przesuwa się w lini prostej o 64px i konczy case case 2: y+=1;//W dół if y=64 then break; case 3: x-=1;//W lewo if x=-64 then break; case 4: x+=1;//W prawo if x=64 then break; } jakaś sugestia ? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lechu4444 Opublikowano 18 Listopada 2013 Udostępnij Opublikowano 18 Listopada 2013 według mnie to on nie korzysta z opcji 2 i 4 tylko ustawia się tak jak mu napisałeś w kodzie na pozycje x=64 lub x=-64 i y=64 lub y=-64 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ereg Opublikowano 18 Listopada 2013 Udostępnij Opublikowano 18 Listopada 2013 bardzo ci dziekuje, dawno sie tak nienasmialem. nic w zlym :) rozchmurzylesz moj zly dzien problem jest prosty , pomysl co program robi GML losowy_kierunek = choose(1,2,3,4); //vybiera kierunek switch(losowy_kierunek) // stosuje wybor kierunku do case { case 1: y-=1;//W górę if y=-64 then break; //przesuwa się w lini prostej o 64px i konczy case // tu mowi jesli JEST y inne niz -64 to zrob case 2, inaczej ukoncz case 1 case 2: y+=1;//W dół if y=64 then break; // tu mowi jesli JEST y=64 to zrob case 3, inaczej ukoncz case 2 case 3: x-=1;//W lewo if x=-64 then break; // tu mowi jesli JEST x powyzej -64 to zrob case 2, inaczej ukoncz case 3 case 4: x+=1;//W prawo if x=64 then break; // tu mowi jesli JEST x powyzej -64 to zrob case 2, inaczej ukoncz case 4 dalej nic niema to i tak konczy } z tego wychodzi, ze jezeli y niejest na -64 to niemoze isc w gore i jesli x niejest na -64 tez niemoze isc do lewa niemogo dlatego ze w rzeciwistosci ido! ALE zaraz wracajo do punktu wyjsca :) x-1+1=x dlaczego rusza tylko w dol lub? dlatego ze jak jest 3 to y=y1 i x=x+1-1 dlaczego rusza tylko w dol w prawo? dlatego ze jak jest 4 to x=x+1 chyba chciales zarownac ruch objektu do siatky, ale break v if ci pokzyzowal plany. jezeli das jesce jeden break; pod koniec case to x, y poprawnie zmieni sie o 1 pix, ale ruch w siatce to co innego :) 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ę