#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define MAX 25
main(){
int a[MAX],i,j,lvl=2,score=0;
float time=1.0,speed;
speed=time/lvl;
clrscr();
for(i=0;i<MAX;i++)
a[i]=rand()%50+1;
while(1){
for(j=0;j<MAX;j++){
gotoxy(a[j],1);
printf("*");
gotoxy(1,1);
insline();
sleep(speed);
score++;
gotoxy(57,1);
clrscr();
printf("%d",score);
if(score==100)
lvl++;
}
}
}
こんにちは、を使用して画面の右上隅にスコアを印刷しようとしていますgotoxy()
。を使用gotoxy(1,1)
して空白行を挿入するカーソル位置を設定していましたinsline()
。しかし、画面にスコアを印刷するたびに、以下に示すようにスコアが連続して印刷されます。
強調されたテキストは、スコアを印刷し、新しい行を挿入するときに最後の位置でそれを削除してinsline()
、最後のスコアが画面に印刷されずに現在のスコアのみが印刷されるようにする他の方法はありますか?