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.