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:prawie 12 lat
  • Ostatnio:30 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

BL
rzadko już wracam do czystego c/c++ a tak a propos to jest moja pierwsza gra w allegro , polecasz jakąś inną bibliotekę ???
spartanPAGE
@Blacki biblioteka nie jest żadnym nowym dialektem, dlatego to cały czas jest "czysty C/C++". Dla początkujących na pierwszy strzał dobrymi są SDL2 i SFML2.*
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.