Biblioteka Allegro

Odpowiedz Nowy wątek
2015-06-26 21:16

Rejestracja: 5 lat temu

Ostatnio: 4 lata temu

0

Witam.

Mam taki problem ponieważ od niedawna zacząłem pisanie programów w tej że bibliotece , przedtem pisałem w c/c++.
Tak więc wracając do problemu stworzyłem postać oraz jej "przeciwnika" mniejsza o to chciałem aby moja postać chodziła po planszy (co już mi się udało) , lecz nie potrafię zrobić tak żeby przeciwnik poszukiwał mojej postaci i prawię mi się to udało lecz przeciwnik idzie tylko na pozycję startową gracza , zatrzymuje się i dalej nic się nie rusza i nie daje żadnego znaku życia.

to kawałek kodu odpowiedzialny za poruszanie się

 int   kostek_y = 1 ,kostek_x = 1 , szalono_oki_y = 100, szalono_oki_x = 100 ;

    int frame = 0;
    while(!key[ KEY_ESC]  ) {

        while( speed > 0) {

         if ( key[ KEY_A ] ) kostek_x--  , kostek_y ;

         if ( key[ KEY_D ] ) kostek_x++  , kostek_y;

         if ( key[ KEY_W ] ) kostek_y-- ,kostek_x ;

         if ( key[ KEY_S ] ) kostek_y++ ,kostek_x;

 if(kostek_y + 30 < szalono_oki_y && kostek_x + 30 < szalono_oki_x)
         {
            szalono_oki_y--;
            szalono_oki_x--;
         }

         speed-- ;

         frame++;
         if( frame > 80) frame = 0;
    }

         clear_to_color(bufor , makecol(150 , 150 , 150) );
         masked_blit(kostek0  , bufor ,0 ,0 , kostek_x ,kostek_y ,kostek->w ,kostek->h );

         masked_blit( szalono_oki  , bufor ,0 ,0 ,  szalono_oki_x , szalono_oki_y , szalono_oki->w , szalono_oki->h );

         if ( key[ KEY_A ] ) masked_blit(kostek2  , bufor ,0 ,0 , kostek_x ,kostek_y ,kostek->w ,kostek->h );
        if ( key[ KEY_W ] ) masked_blit(kostek3  , bufor ,0 ,0 , kostek_x ,kostek_y ,kostek->w ,kostek->h );
        if ( key[ KEY_S ] ) masked_blit(kostek1  , bufor ,0 ,0 , kostek_x ,kostek_y ,kostek->w ,kostek->h );
        if ( key[ KEY_D ] ) masked_blit(kostek  , bufor ,0 ,0 , kostek_x ,kostek_y ,kostek->w ,kostek->h );     

         rest(1); // Funkcja do zatrzymywania postaci...         
         // masked_blit(kostek  , bufor ,0 ,0 , kostek_x ,kostek_y ,kostek->w ,kostek->h );
        blit(bufor , screen , 0 ,0 , 0 ,0 ,640 , 480);
}

chciałbym żeby ktoś mi pomógł z poprawą tego kodu.

z góry dziękuje. :-)

Pozostało 580 znaków

2015-06-26 21:26

Rejestracja: 7 lat temu

Ostatnio: 10 godzin temu

0

Nadal piszesz w >C/C++<.
Allegro to jedna z najpodlejszych bibliotek.

Rozwiń swój makaron i powsadzaj do przynajmniej dwóch różnych miseczek z nalepkami logika i prezentacja

Pokaż pozostałe 2 komentarze
po prostu chciałbym wiedzieć czy potrafisz rozwiązać mój obecny problem. - Blacki 2015-06-26 21:35
Twój problem to nieistniejąca architektura. Nie zrozum mnie źle, ale makaron już dzisiaj jadłem. - spartanPAGE 2015-06-26 21:37
dobrze inaczej to napiszę -ten kod nie ma być idealny ( to tylko w założeniu sposób działania tej biblioteki) -ta gra nie musi być idealna i nie chodzi mi o nwm nowego Torchliga tylko o to żeby napisać prosty program w którym nauczę się czegoś nic do cb nie mam tylko chodzi mi o wskazówki jak bym mógł rozwiązać problem ze zlokalizowaniem postaci i tylko o to mi chodzi. - Blacki 2015-06-26 21:43
@Blacki Rozdziel prezentację od logiki. Nikt nie chce wkładać rąk w szambo. - spartanPAGE 2015-06-26 21:45
ten kod jest roboczy i nie chce żeby kto kolwiek jakoś tak mi segregował kod ponieważ ja się w nim odnajduję a to raczej jest najważniejszę nie uważas ? - Blacki 2015-06-26 21:53

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0