私はCプログラミング言語を独学しています。ゲームボーイ ゲームの設計のコンテキストで学習していることを除いて (GBDEK を使用)。
私は単純なブレイクアウト クローンに取り組んでおり、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 記号) が出力され、以前のスコアは消去されません。これが私が何を意味するかを示すスクリーンショットです。
これを修正する方法がわかりません。ヘルプ?