Я сделал простую игру в пинг-понг на c ++ с помощью сообщества visual studio (в windows).Я сделал это, но конечный продукт продолжает мерцать, и он не выглядит хорошо.
Я новичок в c ++.И это один из первых больших проектов, которые я пытался сделать.Проведя некоторые исследования, я обнаружил, что я создал консольное приложение, и чтобы остановить мерцание, мне придется переделать мое приложение в графике, что я не могу, поэтому я ищу способ изменить свое консольное приложение, чтобы уменьшитьМерцание.
Моя функция рисования -:
void Draw()
{
system("cls");
for (int i = 0; i < width + 2; i++)
cout << "\xB2";
cout << endl;
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
int ballx = ball->getX();
int bally = ball->getY();
int player1x = player1->getX();
int player2x = player2->getX();
int player1y = player1->getY();
int player2y = player2->getY();
if (j == 0)
cout << "\xB2";
if (ballx == j && bally == i)
cout << "O";//ball
else if (player1x == j && player1y == i)
cout << "\xDB";//player1_segment0
else if (player2x == j && player2y == i)
cout << "\xDB";//player2_segment0
/*Prints different segments of player1 in y-dir*/
else if (player1x == j && player1y + 1 == i)
cout << "\xDB";//player1_segment1
else if (player1x == j && player1y + 2 == i)
cout << "\xDB";//player1_segment2
else if (player1x == j && player1y + 3 == i)
cout << "\xDB";//player1_segment3
/*Prints different segments of player2 in y-dir*/
else if (player2x == j && player2y + 1 == i)
cout << "\xDB";//player2_segment1
else if (player2x == j && player2y + 2 == i)
cout << "\xDB";//player2_segment2
else if (player2x == j && player2y + 3 == i)
cout << "\xDB";//player2_segment3
else
cout << " ";
if (j == width - 1)
cout << "\xB2";
}
cout << endl;
}
for (int i = 0; i < width + 2; i++)
cout << "\xB2";
cout << endl;
cout << "Score 1: " << score1 << endl;
cout << "Score 2: " << score2 << endl;
}
Спасибо.
Вот как это выглядит без мерцаний