ALLGERO 5 background w tablicy

0

Witam, mam następujący problem:
mianowicie, piszę na silniku allegro i próbuję w moim programie zrobić background za pomocą tablicy.
Poniżej fragment kodu:

 void drawing_background(ALLEGRO_BITMAP *standard_background)
{
	int tab_background[30][20] = {
		                                                  {3,3,3,2,2,0,0,0,0,2,2,1,1,1,1,1,2,2,0,0},
	                                                          {2,3,3,2,2,0,0,0,0,2,2,1,1,1,1,1,2,2,0,0},
								  {2,3,3,2,2,2,2,2,2,2,2,1,1,1,1,1,2,2,2,0},
								  {2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,0},
								  {2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,0},
								  {2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,2,2,0,0},
								  {2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,2,2,0,0},
								  {2,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,0,0},
								  {2,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,0,0},
								  {2,1,1,1,1,1,1,1,1,1,1,2,2,2,3,3,2,2,2,2},
								  {0,2,2,2,2,2,2,2,2,2,1,2,2,2,3,3,3,3,3,2},
								  {0,2,2,2,2,2,2,2,2,2,1,2,2,2,3,3,3,3,3,2},
								  {0,2,2,2,2,2,2,2,2,2,1,2,2,2,3,3,3,3,3,2},
								  {0,2,2,2,2,2,2,2,2,1,1,2,2,2,3,3,3,3,3,2},
								  {0,2,2,2,2,2,2,2,1,1,2,2,2,2,3,3,3,3,3,2},
								  {0,2,2,2,2,2,2,1,1,2,2,2,2,2,3,3,3,3,3,2},
								  {0,2,2,2,2,2,1,1,1,2,2,2,2,2,3,3,3,3,3,2},
								  {0,2,2,2,2,1,1,1,2,2,2,2,2,2,3,3,3,3,3,2},
								  {0,2,2,2,2,1,1,1,2,2,2,2,2,2,3,3,3,3,3,2},
								  {0,2,2,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,2},
								  {0,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2},
								  {0,2,2,3,3,3,3,2,2,2,2,2,2,2,2,0,0,0,0,0},
								  {0,2,2,3,3,3,3,2,2,0,0,0,0,0,0,0,0,0,0,0},
								  {0,2,2,3,3,3,3,2,2,0,0,0,0,0,0,0,0,0,0,0},
								  {0,2,2,3,3,3,3,2,2,0,0,0,0,0,0,0,0,0,0,0},
								  {0,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0},
								  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
								  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
	                                                          {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
	};
	
	int x;
	for(int y = 0; y < 30; y++)
	{
		for( x = 0 ; x < 20 ;x++);
	{
		

		al_draw_bitmap_region(standard_background,32*tab_background[y][x], 0,32,32,x*32, y*32,NULL);
	}
	}
}

Zdjęcie, które wykorzystuję do robienia backgroundu ma wymiary 128x32.
Niestety nie działa tak jak powinno, bo zamiast wstawić odpowiednie fragmenty odpowiadające tablicy to robi zaledwie kilka kafli w dziwnych, zupełnie nieodpowiednich miejscach.
Proszę o wskazanie, co zrobiłem źle.

0

Temat nieważny, sam to rozwiązałem.

0
void drawing_background(ALLEGRO_BITMAP *standard_background,int tab_background[][100])
{	
	for(int i  = 0; i<mapSizeX; i++)
	{
		for(int j = 0; j <mapSizeY; j++)
		{
				al_draw_bitmap_region(standard_background,32*tab_background[i][j], 0,32,32,i*32, j*32,NULL);
	}
	}
}
void background_load_standard(const char*filename, int map[][100])
{
    std::ifstream openfile(filename);
    if(openfile.is_open())
    {
        openfile >> mapSizeX >> mapSizeY; 
        while(!openfile.eof())
        {
            openfile >> map[loadCounterX][loadCounterY]; 
            loadCounterX++; 
            if(loadCounterX >= mapSizeX)
            {
                loadCounterX = 0; 
                loadCounterY++;
            }
        }
    }
} 
  • dodałem wczytanie tabeli z pliku txt i wartości wpisałem w tabelę, a następnie na jej podstawie program rysuje tło

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