Co konkretnego robi ta funkcja

0

void CUkladanka::PrzygotujUkladanke()
{
//* początkowa inicjalizacja elementami kolejno 0-99 // 0-99 poprawny uklad
for(int i=0; i < rozmiar; i++)
for(int j=0; j < rozmiar;j++)
elementy[i][j] = rozmiar
i + j;

int rx=0, ry=0, c = 0;

//*/ pomieszanie elementów ukladanki metodą zamiany miejscami*//
for(int i = 0; i < rozmiar; i++)
	for(int j=0; j < rozmiar; j++)
	{
		rx = rand() % rozmiar;
		ry = rand() % rozmiar;
		c = elementy[i][j];
		elementy[i][j] = elementy[rx][ry];
		elementy[rx][ry] = c;
	}

pi = rand() % rozmiar;
pj = rand() % rozmiar;
pi = 1;
pj = 1;
elementy[pi][pj] = -100; // wartosc luki

}

void CUkladanka::Rysuj()
{
int d; // wymiar bitmapy bufor
d = obrazek->w / rozmiar;
BITMAP *czarna = create_bitmap(d,d);
clear_to_color(czarna,CZARNY);
int x,y;
int bx,by;
BITMAP *bufor;

for(int i=0; i < rozmiar;i++)
	for(int j=0; j < rozmiar; j++)
	{
		x = j*d;
		y = i*d;
		bx = (elementy[i][j] % rozmiar)*d;//bx by to sa pozycje w pikselach z ktorych nalezy zaczac kopiowanie fragmentu bitmapy z obrazkiem przedstawiajacej element
							//dzilelisz przez rozmiar zeby uzyskac wiersz i kolumne danego elementu
		by = (elementy[i][j] / rozmiar)*d;
		if(elementy[i][j] == -100)
			blit(czarna,pole_gry,0,0,x,y,d,d);
		else
			blit(obrazek,pole_gry,bx,by,x,y,d,d);
	}

Wiem ze to zawracanie głowy ale chciałbym sie dowiedziec jak działaja te funkcje linijka po linijce bardzo istotne prosze o pomoc.

2

sprawdzają, czy uczeń posiada podstawową wiedzę z przedmiotu

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