Napisałęm taki oto kodzik

#include <allegro.h> 
#include <cstring>
#pragma comment(lib,"alleg.lib")
#include <string> 
#include <vector> 
#include <math.h>
using namespace std;
///


       /////deklaracje 
    
    
BITMAP * bufor = NULL;
BITMAP * block1 = NULL;   /* postac */
BITMAP * block2 = NULL;    /* postac */
BITMAP * block3 = NULL;    /* postac */ 
BITMAP * block4 = NULL;    /* postac */
BITMAP * block5 = NULL;    /* postac */
BITMAP * block6 = NULL;    /* postac */
SAMPLE * dzwiek = NULL;
BITMAP * a1 = NULL; /* podloze */
BITMAP * b1 = NULL; /* przeszkoda */

   /////deklaracje 

int x;
int a1_x = 0;
int i = 0;
short int MAP[20] = {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1};





volatile long speed = 0;
void increment_speed()
{
    speed++;
}
END_OF_FUNCTION( increment_speed );
LOCK_VARIABLE( speed );
LOCK_FUNCTION( increment_speed );
////



///
int main()
{
    allegro_init();
     set_window_title("Block");
    install_keyboard();
    install_mouse();
    set_color_depth( 32 );
    set_gfx_mode( GFX_AUTODETECT, 800, 600, 0, 0 );
    ////////instalacje
    install_timer();
install_int_ex( increment_speed, BPS_TO_TIMER( 120 ) );
    install_sound( DIGI_AUTODETECT, MIDI_AUTODETECT, "" );
set_volume( 255, 255 );
    ///////////instalacje
  bufor = create_bitmap( 800, 600 );
if( !bufor )
{
    set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
    allegro_message( "Nie mogę utworzyć bufora !" );
    allegro_exit();
    return 0;
}
////////////ładowanei plików

dzwiek = load_sample( "1.wav" );
block1 = load_bmp( "block1.bmp", default_palette );
block2 = load_bmp( "block2.bmp", default_palette );
block3 = load_bmp( "block3.bmp", default_palette );
block4 = load_bmp( "block4.bmp", default_palette );
block5 = load_bmp( "block5.bmp", default_palette );
block6 = load_bmp( "block6.bmp", default_palette );
a1 = load_bmp( "a1.bmp", default_palette );
b1 = load_bmp( "b1.bmp", default_palette );


/////////////ładowanei plików
/////pozycja plików

int block1_x = 50, block1_y = 400;



/////pozycja plików
////////ładowanei i start dźwięku
    dzwiek = load_sample( "1.wav" );
if( !dzwiek )
{
    set_gfx_mode( GFX_TEXT, 0, 0, 0, 0 );
    allegro_message( "nie mogę załadować dzwieku !" );
    allegro_exit();
    return 0;
}



play_sample( dzwiek, 255, 127, 1000, 1 );
////////ładowanei i start dźwięku




////sterowanie
int frame1 = 0;
int frame2 = 0;
while( !key[ KEY_ESC ] )


{
    

		while( speed > 0)
    {
        
        if( key[ KEY_A ] ) block1_x--, frame1++, a1_x < 10, a1_x = a1_x + 1; 

        if( key[ KEY_D ] ) block1_x++, frame1++ ,a1_x > 0, a1_x = a1_x - 1; 
           
       

    for(i = 0; i < 20; i++)
		{
			blit(a1,bufor,(MAP[i+a1_x]%4)*40,(MAP[i+a1_x]/4)*40,i*40,550,50,50);
		}


		blit(bufor,screen,0,0,0,0,800,600);
		clear_to_color(bufor,makecol(255,255,255));
       
        
        speed--;
        //////starowanei
        /////animacja
   
        if( frame1 > 100 ) frame1 = 0;
            }
clear_to_color( bufor, makecol( 255, 255, 255 ) );
if( frame1 < 20 ) { draw_sprite( bufor, block1, block1_x, block1_y ); }
else if( frame1 >= 20 && frame1 < 40 ) { draw_sprite( bufor, block2, block1_x, block1_y ); }
else if( frame1 >= 40 && frame1 < 60 ) { draw_sprite( bufor, block3, block1_x, block1_y ); }
else if( frame1 >= 60 && frame1 < 80 ) { draw_sprite( bufor, block4, block1_x, block1_y ); }
else if( frame1 >= 80 && frame1 < 100 ) { draw_sprite( bufor, block5, block1_x, block1_y ); }
else if( frame1 >= 100 && frame1 < 120 ) { draw_sprite( bufor, block6, block1_x, block1_y ); }
blit( bufor, screen, 0, 0, 0, 0, 800, 600 );
}

////animacja



/////zamykanie akcji
remove_int( increment_speed );
destroy_bitmap( block1 );
destroy_bitmap( block2 );
destroy_bitmap( block3 );
destroy_bitmap( block4 );
destroy_bitmap( block5 );
destroy_bitmap( block6 );
destroy_bitmap( a1 );
destroy_bitmap( b1 );
stop_sample( dzwiek );
destroy_bitmap( bufor );
destroy_sample( dzwiek );
/////zamykanie akcji




allegro_exit();
return 0;
}
END_OF_MAIN();

Chcę aby "podłoga" nie migała, postać po dojściu do środka ekranu przesówała sie równo z podłogą , aby znalazło się tu jakieś tło oraz obiekty kolizji i menu. Czy ktos może mi z tym pomóc?