Patzick Temat założony przez niniejszego użytkownika |
» 2008-09-09 22:04:29 ok więc dałem void wys_mape() { int szer = 14; int wys = 10; int przesunX = 6; int przesunY = 4; int licznik_x, licznik_y; for( licznik_x = 0 - przesunX; licznik_x < szer - przesunX; licznik_x++ ) { for( licznik_y = 0 - przesunY; licznik_y < wys - przesunY; licznik_y++ ) { if( frame < 3 ) { blit( teren, bufor,( map[ licznik_y + mapa_y ][ licznik_x + mapa_x ] % 4 ) * 48,( map[ licznik_y + mapa_y ][ licznik_x + mapa_x ] / 4 ) * 48, ( licznik_x + przesunX ) * 48,( licznik_y + przesunY ) * 48, 48, 48 ); }; if( 3 <= frame < 6 ) { blit( teren, bufor,( map2[ licznik_y + mapa_y ][ licznik_x + mapa_x ] % 4 ) * 48,( map[ licznik_y + mapa_y ][ licznik_x + mapa_x ] / 4 ) * 48, ( licznik_x + przesunX ) * 48,( licznik_y + przesunY ) * 48, 48, 48 ); }; if( 6 <= frame <= 10 ) { blit( teren, bufor,( map3[ licznik_y + mapa_y ][ licznik_x + mapa_x ] % 4 ) * 48,( map[ licznik_y + mapa_y ][ licznik_x + mapa_x ] / 4 ) * 48, ( licznik_x + przesunX ) * 48,( licznik_y + przesunY ) * 48, 48, 48 ); }; }; }; }; niestety nic to nie zmieniło, ciągle żadnej reakcji |
|
DejaVu |
» 2008-09-09 22:37:56 Zadam poraz kolejny to samo pytanie, jakie zadałem na początku: if( 6 <= frame <= 10 ) Co to jest? |
|
Patzick Temat założony przez niniejszego użytkownika |
» 2008-09-09 23:05:37 no to ma być warunek, żeby kolejna mapa została wyświetlona. Skoro się mnie ciągle pytasz to musi być tu jakaś oczywistość której nie dostrzegam, bo przyglądam się cały czas i tego nie widzę :P
EDIT//
spróbowałem jeszcze if ((3<=frame)&&(frame<6)) ale taki sam efekt |
|
DejaVu |
» 2008-09-09 23:57:37 To zamień wszystkie warunki na prawidłowe, a nie na twór, który wymyśliłeś :) Wytłymaczenie: #include <iostream> #include <conio.h> using namespace std; int main() { int liczba; cin >> liczba; int wynik =( 3 <= liczba <= 10 ); cout << "(3<=liczba<=10) = " << wynik << endl; wynik =( 3 <= liczba && liczba <= 10 ); cout << "(3<=liczba && liczba<=10) = " << wynik << endl; getch(); return 0; } /edit: Z tego co napisałeś jednoznacznie wynika, że nie zmieniłeś wszystkich warunków, tylko jeden. Ostatni warunek jest więc znowu zawsze spełniony. |
|
Patzick Temat założony przez niniejszego użytkownika |
» 2008-09-12 15:45:17 no wielkie rozwiązanie, prześledziłem cały kod i okazało się, że jestem głupi :P a tak na poważnie to nie dałem w funkcji blit wszędzie 2 i 3 mapy, tylko 1 była przykładowo zamiast if( 3 <= frame < 6 ) { blit( teren, bufor,( map2[ licznik_y + mapa_y ][ licznik_x + mapa_x ] % 4 ) * 48,( map[ licznik_y + mapa_y ][ licznik_x + mapa_x ] / 4 ) * 48,( licznik_x + przesunX ) * 48,( licznik_y + przesunY ) * 48, 48, 48 ); };
powinno być if( 3 <= frame < 6 ) { blit( teren, bufor,( map2[ licznik_y + mapa_y ][ licznik_x + mapa_x ] % 4 ) * 48,( map2[ licznik_y + mapa_y ][ licznik_x + mapa_x ] / 4 ) * 48,( licznik_x + przesunX ) * 48,( licznik_y + przesunY ) * 48, 48, 48 ); };
ehh...długo trwało zanim to zauważyłem :) dzięki za pomoc i życzę wszystkim, by nie mieli takich problemów :D |
|
DejaVu |
» 2008-09-12 15:51:06 if( 3 <= frame < 6 ) Przecież ten warunek jest nieprawidłowy (zawsze prawdziwy)... |
|
Patzick Temat założony przez niniejszego użytkownika |
» 2008-09-12 19:54:07 jak może być zawsze prawdziwy?
jeżeli frame jest większy, lub równy 3 i mniejszy od sześciu
więc jak frame == 2 to wychodzi false
niby inaczej sformułowane niż mówiłeś, ale działa.
Tak samo opisane przy animacji ludka
if (frame<5) {cos} if {frame<10) {coś}
to też działa, a niby warunek 2 jest zawsze spełniony :D Pozdrawiam |
|
DejaVu |
» 2008-09-12 21:53:13 Cóż... widzę, że wiesz lepiej to ja się nie będę z Tobą spierał. Żyj w przekonaniu, że Twoja filozofia myślania jest prawidłowa. Wkońcu co ja mogę wiedzieć o programowaniu... Dodam więcej: nawet nie pofatygowałeś się skompilować programu, który napisałem Ci, żebyś sobie uświadomił jak poważny błąd programistyczny robisz.
Zamykam temat. |
|
1 « 2 » |