rand() i poprawa kodu
Ostatnio zmodyfikowano 2009-06-02 22:57
Camper Temat założony przez niniejszego użytkownika |
rand() i poprawa kodu » 2009-06-01 22:33:38 Mój problem polega na tym że postać dziwnie się teleportuje czasami do jakich współrzędnych nie wiadomo skąd. Po drugie Random co włączenie programu losuje te same liczby (tj. e kolejności np. 400, później 753, i tak samo po ponownym uruchomieniu programu.) Znam to już z Pascala i chyba Delphi, ale czy nie da się czegoś z tym zrobić ? Kod : if( chodzenie == false ) { a = random( 0, 800 ); b = random( 0, 600 ); }
if( chodzenie == false ) { if(( a + b ) > 0 ) { ib2x = bot_x; ib2y = bot_y; celb2x = a; celb2y = b; deltab2X = ib2x - celb2x; deltab2Y = ib2y - celb2y; chodzenie = true; } }
if(( deltab2Y ) == 0 ) { katb2 = 0; } else { katb2 = atan(( deltab2X ) /( deltab2Y ) ); }
if( deltab2Y >= 0 ) { katb2 += M_PI; }
if( chodzenie == true ) { if( ib2x != celb2x ) { ib2x += sin( katb2 ) * predkosc2; } if(( celb2x - ib2x ) < predkosc2 ) { ib2x = celb2x; } if( ib2x == celb2x ) { if( ib2y != celb2y ) { ib2y += cos( katb2 ) * predkosc2; } } if(( celb2y - ib2y ) < predkosc2 ) { ib2y = celb2y; } if( ib2y == celb2y ) { chodzenie = false; } }
bot_x = ib2x; bot_y = ib2y;
draw_sprite( bufor, bot, bot_x, bot_y );
|
|
pixelmaster |
» 2009-06-01 22:55:02 wcześniej trzeba chyba dać randomize(); |
|
DejaVu |
» 2009-06-01 23:28:17 |
|
Camper Temat założony przez niniejszego użytkownika |
» 2009-06-02 17:40:13 Rand() działa już świetnie, jedyne co z czym teraz mam problem to fakt że obiekt teleportuje się dziwnie co kilka pozycji. (tj. jeździ do pozycji wyznaczonych przez random ale czasami teleportuje się w inne miejsce i jedzie do lokacji.) Poza tym jest jeszcze sprawa prędkości. Otóż kiedy cel jest blisko, obiekt bardzo zwalnia, nie potrafię tego wyłapać w pętli. |
|
DejaVu |
» 2009-06-02 17:49:47 Szczerze mówiąc nie chce mi się szukać przyczyny 'teleportacji'. Najwyraźniej masz błąd w programie (np. losujesz nową pozycję do której ma dojść nie sprawdzając, czy ją osiągnął). Zdecydowaną większość programu skopiowałeś z forum tak więc wydaje mi się, że możesz postarać się trochę i samodzielnie rozwiązać problem teleportacji. |
|
Camper Temat założony przez niniejszego użytkownika |
» 2009-06-02 19:49:19 Wybacz że proszę o pomoc tak często ale naprawdę piszę dopiero wtedy gdy dwukrotnie sprawdzę kod i już nie potrafię niczego wymyślić. Jeżeli nuży cię odpowiadanie na moje pytania to po prostu tego nie rób, postaram się zasięgnąć opinii innych użytkowników.
Dalej mam problem z teleportacją i zwalnianiem kiedy punkt jest blisko. |
|
Camper Temat założony przez niniejszego użytkownika |
» 2009-06-03 23:28:51 Więc twierdzisz że debuger powie mi dlaczego postać się teleportuję albo dlaczego zwalnia gdy punkt jest blisko tak ? |
|
DejaVu |
» 2009-06-04 08:58:29 debugger nic nie powie. Możesz jednak za pomocą niego prześledzić program krok po kroku lub od pewnego miejsca działania patrząc w kod, podlądając obecny stan zmiennych i jakie linijki po kolei się wykonują. |
|
« 1 » 2 |