Tomba Opublikowano 19 Czerwca 2005 Udostępnij Opublikowano 19 Czerwca 2005 Mam pytanie. Robię prostą grę - Ponga, aby pogłębić swoją wiedzę w programie. I mianowicie moje pytanie jest odnośnie kodu. variable_global_set(1,random(1)) if variable_global_get(1)=0 { direction=45+random(90) } else { direction=225+random(90) } motion_set(direction,6) Czy dobrze napisałem ten kod? Chodziło mi o to, że wartość "1" się najpierw losuje i jak wylosuje się 0, to kierunek ma się ustawić na "direction=45+random(90)" a jak się wylosuje 1, to kierunek ma się ustawić na "direction=225+random(90)". Na sam koniec piłka ma ruszyć w tym kierunku... Proszę pisać, czy dobrze napisałem ten kod! Z góry dziękuję! Pozdro! Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Ajot Opublikowano 19 Czerwca 2005 Udostępnij Opublikowano 19 Czerwca 2005 Hmmm ja bym to zrobił inaczej... dir_var=round(random(1)); dir_add=round(random(90)); ball_speed=9; if (dir_var=0) { direction=(45+dir_add); } else { direction=(225+dir_add); } motion_set(direction,ball_speed); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tomba Opublikowano 20 Czerwca 2005 Autor Udostępnij Opublikowano 20 Czerwca 2005 Widzę, że mój kod jest zupełnie inny i jest strasznie długi... :( Podam wam cały kod, a wy mi wytknijcie wszystkie błędy jakie znajdziecie. To jedyny sposób, żebym się czegoś nauczył. Jest to Pong. Piłka: Create: alarm[0]=50; Alarm 0: dir_var=round(random(1)); dir_add=round(random(90)); ball_speed=6; if (dir_var=0) { direction=(45+dir_add); } else { direction=(225+dir_add); } motion_set(direction,ball_speed); Destroy: sound_play(Eksplozja); instance_create(320,240,Pilka); Colisions Paletka: if y < other.y + other.sprite_height { move_bounce_solid(true); sound_play(Pong); } exit; Colisions Paletka 2: if y > other.y - other.sprite_height { move_bounce_solid(true); sound_play(Pong); } exit; Colisions Poziom: instance_destroy(); Colisions Pion: move_bounce_solid(true); sound_play(Pong); Paletka: Left: repeat(8) if place_free(x-1,y+0)then x = x - 1; Right: repeat(8) if place_free(x+1,y+0)then x = x + 1; Paletka 2: A: repeat(8) if place_free(x-1,y+0)then x = x - 1; D: repeat(8) if place_free(x+1,y+0)then x = x + 1; END Przepraszam, że zajmuje wam czas, ale jestem pewien że w tym kodzie zrobiłem pełno błędów. Już mi Sadam to udowodnił... Proszę o sugestie. Z góry dziękuję! Pozdro! 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ę