写C语言的一个小程序悬赏30,追加20
打字游戏的!如果正确给你50分
参考答案:/***************** 一个有趣的打字游戏 ********************************/
/***************** 作者:沉路 ********************************/
/***************** tc2.0 运行成功 ********************************/
#include<stdio.h>
#include<stdlib.h>
main()
{
int i;
int line=0,col=0,num=0;
int score=0,times=1;
char one[26];
char c;
for(i=0,c='a';i<26;i++,c++) /* 把a~z赋给数组 */
{
one[i]=c;
}
center();
printf("press anykey to start");
getch();
while(1)
{ system("cls");
printf("times:%d ",times); /* 打印关数 */
printf(" score: %d",score); /* 打印分数 */
printf(" 1----Pause,0----exit");
printf("\n");
printf("________________________________________________________________________");
printf("\n");
line=0;
randomize();
col=random(60);
randomize();
num=random(26);
while(1) /* 开始下落 */
{
space(col);
printf("%c",one[num]); /* 打印出字母 */
delay_x(10-times);
printf("\b \n");
line++;
if(line>45)
{
score-=10;
break;
}
if(score<0)
{
center();
printf("sorry,you faile!");
getch();
exit(0);
}
if(kbhit()) /* 如果有键按下 */
{
c=getch(); /* 接收输入的字符 */
if(c==one[num])
{
score+=10;
break;
}
switch(c)
{
case '0': exit(0);
case '1': getch();
default : ;
}
}
}
if(score>=100*times) /* 一关完毕 */
{
times++;
center();
if(times>9)
{
printf("congratulation,you win!");
}
printf("If you go to the %d:(y/n)",times);
if((getch())=='n')
{
center();
printf("I am sorry for you give up!");
getch();
break;
}
}
} /* end of while */
} /* end of main */
/*************************** 定义换行函数 *********************************/
change_line(int k)
{ int i;
for(i=0;i<k;i++)
{
printf("\n");
}
}
/**************************** 打印空格函数 ********************************/
space(int k)
{ int i;
for(i=0;i<k;i++)
{
printf(" ");
}
}
/************************** 延时函数 ************************************/
delay_x(int k)
{
int i;
for(i=0;i<k;i++)
{
delay(5000);
}
}
/******************* 让光标居中(偏左)函数 ************************/
center()
{
system("cls");
change_line(20);
space(25);
}