Biblioteka Allegro

Biblioteka Allegro
BL
  • Rejestracja:około 10 lat
  • Ostatnio:prawie 10 lat
  • Postów:6
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ę

Kopiuj
 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. :-)

spartanPAGE
  • Rejestracja:około 12 lat
  • Ostatnio:8 dni
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

Zobacz pozostałe 2 komentarze
BL
po prostu chciałbym wiedzieć czy potrafisz rozwiązać mój obecny problem.
spartanPAGE
Twój problem to nieistniejąca architektura. Nie zrozum mnie źle, ale makaron już dzisiaj jadłem.
BL
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.
spartanPAGE
@Blacki Rozdziel prezentację od logiki. Nikt nie chce wkładać rąk w szambo.
BL
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 ?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.