Я учу себя языку Си.За исключением того, что я учусь в контексте разработки игры Gameboy (с использованием GBDEK).
Я работаю над простым клоном Breakout и решил использовать функцию printf (), чтобы показать счет игрока.Когда счет игрока увеличивается, отображаемый счет также должен измениться.Вот соответствующий код:
int score = 0;
void main() {
printf(" \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n%d", score);
}
void moveBall() {
if((ballY == paddleY-8) && (ballX >= paddleX-8) && (paddleX+24 >= ballX-8)) {
score+=10;
printf("\r%d", score);
}
}
Когда игра начинается, консоль выводит несколько пустых строк для позиционирования счета.Когда счет меняется (в этом случае, когда мяч попадает на весло), он должен вернуться в начало строки и напечатать новый номер.Тем не менее, он печатает символ возврата каретки (странный символ CR) и не стирает предыдущий счет.Вот скриншот, чтобы показать вам, что я имею в виду.
![enter image description here](https://i.stack.imgur.com/dWSti.png)
Я не уверен, как это исправить.Помощь