30/09/2018, 16:23

Nhờ giải thích vòng lặp trong hàm C++

Mọi người giải thích cho em các vòng lặp trong hàm c_khoi này với ạ em cảm ơn !

void c_khoi(int a, int b, int i, int n)
void c_khoi(int a, int b, int i, int n)
{
	i--;
	int j, k;
	for (j = 15 - thap[a - 1]; j>2; j--)
	{
		for (k = 0; k<2 * i + 1; k++)
		{
			gotoxy(15 * a - i + k, j);
			cout << " ";
		}
		if (j >= 5)
		{
			gotoxy(15 * a, j);
			setcolor(2);
			cout << char(186);
		}
		for (k = 0; k<2 * i + 1; k++)
		{
			gotoxy(15 * a - i + k, j - 1);
			setcolor((i + 5) % 15);
			cout << char(219);
		}
		delay(20);
	}
	if (a<b)
	{
		for (j = 15 * a; j <= 15 * b; j++)
		{
			for (k = 0; k<2 * i + 1; k++)
			{
				gotoxy(j - i + k, 2);
				setcolor((i + 5) % 15);
				cout << char(219);
			}
			delay(20);
			for (k = 0; k<2 * i + 1; k++)
			{
				gotoxy(j - i + k, 2);
				cout << " ";
			}
		}
	}
	else
	{
		for (j = 15 * a; j >= 15 * b; j--)
		{
			for (k = 0; k<2 * i + 1; k++)
			{
				gotoxy(j - i + k, 2);
				setcolor((i + 5) % 15);
				cout << char(219);
			}
			delay(20);
			for (k = 0; k<2 * i + 1; k++)
			{
				gotoxy(j - i + k, 2);
				cout << " ";
			}
		}
	}
	for (j = 2; j<15 - thap[b - 1] - 1; j++)
	{
		for (k = 0; k<2 * i + 1; k++)
		{
			gotoxy(15 * b - i + k, j);
			cout << " ";
		}
		if (j >= 5)
		{
			gotoxy(15 * b, j);
			setcolor(2);
			cout << char(186);
		}
		for (k = 0; k<2 * i + 1; k++)
		{
			gotoxy(15 * b - i + k, j + 1);
			setcolor((i + 5) % 15);
			cout << char(219);
		}
		delay(10);
	}
	thap[a - 1]--;
	thap[b - 1]++;
}
Bài liên quan
0