c语言leave函数 c语言len函数的使用方法( 二 )


}/* if */
}/* for (j) */
}/* for (i) */
sound(300);
}/* if (key) */
return (false);
}/* wordHit */
/*---------------------------------------------------------------------*/
int result(int right)
/*判断该次的成绩并输出对应的结果,询问用户是否继续,若继续,判断是否可以进入下一级别 。*/
{
int score;
char yn;
score=right*100/full;
nosound();
clrscr();
if (score==100)
printf("perfect!\n");
else if (score=85)
printf("good!\n");
else if (score=70)
printf("That's OK!\n");
else
printf("you need to play again.\n");
printf("do you want to continue?Y/N\n");
for (;;)/* void */
{
yn=getch();
switch (yn)
{
case 'y' :
{
if (score=70)return(true);
elsereturn(false);
}/* case */
case 'n' : leave ();
default : printf("Please input a correct choice:");
}/* switch */
}/* for */
}/* result */
/*---------------------------------------------------------------------*/
int start()/* 进入程序时调用该函数,提示其操作 。*/
{
char c;
while (true)
{
clrscr ();
printf ("\n\n\n\n\nWelcome to type game!\n\n\n1.start\n2.How to play\n0.Exit");
c=getch();
switch (c)
{
case '0' : leave();/* 用户选择退出 , 退出主程序 */
case '2' :
{
clrscr();
printf ("\n\n\n\n\nHit the type when you see it on the screen.\nPress 0 to exit.\nPress 1 to pause\n1.start\n0.exit");
while (true)
{
c=getch ();
if (c=='0') leave();
if (c=='1') return (true);
}
}
case '1' : return (true);
}
}
}
/*----------------------------------------------------------------------*/
void main()
{
/*---------------------------------------------------------------------*/
/*函数声明*/
void printScreen(int level,int right,int sum,char p[yLine][xLine]);
void leave();
int levelChoice(int level);
int newWord(int sum,char p[yLine][xLine]);
int moving(int miss,char p[yLine][xLine]);
int wordHit(char p[yLine][xLine]);
int result(int right);
int start();
/*---------------------------------------------------------------------*/
char p[yLine][xLine];
int i,j,level,right,sum,n,m,miss;
srand(time(NULL));
start();
for (i=0;iyLine;i++)/* 初始化屏显数组 */
{
for (j=0;jxLine;j++)
if (j==0||j==xLine-1)
p[i][j]=140;
else
p[i][j]=' ';
}/* for (i) */
level=levelChoice(level);
for (;;)/* 开始运行主程序 */
{sum=0;
right=0;
miss=0;
printf("Press any key to start!");
m=getch();
printScreen(level,right,sum,p);
for (n=0,m=4;;n++)
{
delay(20);/* 延迟 */
nosound();
if(m%4==0)/* 当m为4的整数倍,即上一个字母下落3行时生成一个新的字母在首行并刷新屏幕 */
{
sum=newWord(sum,p);
m=5;
printScreen(level,right,sum,p);
}/*if(newWord)*/
if (wordHit(p)==true)/* 如果用户输入c语言leave函数了字符并且正确,则使答对的数加一,并刷新屏幕 */
{
right++;
sound (1500);
printScreen(level,right,sum,p);
}/* if(wordHit) */
if(n==(37-4*level))/* 当n=37-4*level时,屏幕上的字母下落一行,并刷新屏幕,若最后一行有字母,则使错过数加一 */
{
n=0;
m++;
miss=moving(miss,p);
printScreen(level,right,sum,p);
}/* if (moving)*/
if(right+miss==full) break;/* 当正确数加错误数等于预置的总字母个数时跳出该循环 */
}
if (result (right)==truelevel9)/* 当用户成绩在70以上 , 并且等级小于9时,等级加一,即进入下一级别 */

推荐阅读