用c语言编写打字小游戏,[新人拜吧] 打字小游戏

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

bar(x, y, x + 16, y + 16);

break; // 跳出循环,进行下一个字母

}

else if (key == 27)

{

goto EXIT; // 如果按 ESC,退出游戏主循环

}

}

// 延时,并清除字母

Sleep(5);

bar(x, y, x + 16, y + 16);

}

}

EXIT:

// 退出部分

goodbye();

// 关闭图形界面

closegraph();

}

void level3()

{float a=0,b=0;

char l[30][10]={"myth\0","true\0","good\0","love\0","soft\0","nice\0","kind\0","warm\0","help\0","safe\0","face\0","head\0","able\0","when\0","ated\0","joke\0","pass\0","keep\0","look\0","food\0","give\0","take\0","hold\0","make\0","keep\0","some\0","mind\0","play\0","more\0","less\0"};

//初始定义单词 initgraph(680, 480); // 初始化屏幕为 640x480

srand(time(NULL)); // 设置随机种子

setfont(16, 0, "Arial"); // 设置字母的字体和大小

setfillstyle(BLACK);// 设置清除字母的填充区域颜色

int n; // 目标字母

char key; // 用户的按键

int x, y; // 字母的位置

// 主循环

while(true)

{

n=rand()%30;

b++; // 产生任意大写字母

x = rand() % 620; // 产生任意下落位置

for (y=0; y<460; y++)

{

setcolor(WHITE); // 设置字母的颜色

outtextxy(x, y, l[n]); // 显示字母

if( kbhit() )

{

int i,re=0; // 获取用户输入,并确认是否正确

for(i=0 ;l[n][i]!='\0';i++)

{

key=getch();

if(l[n][i]==key)

{setcolor(YELLOW);outtextxy(x+6*i,y+15 ,l[n][i]) ; continue;}

else {re++;break;}

}

if(re==0)

{

// 按键正确,"击落"字母(画黑色方块擦除)

bar(x, y, x + 35, y + 30); // 跳出循环,进行下一个字母

break;

}

else if (key == 27)

{

goto EXIT; // 如果按 ESC,退出游戏主循环

}

}

// 延时,并清除字母

Sleep(3);

bar(x, y, x + 16, y + 16);

}

}

EXIT:

// 退出部分

goodbye();

// 关闭图形界面

closegraph();

} void level4()

{float a=0,b=0;

char l[10][35]={"A bad thing never dies\0","A good book is a good friends\0","A good medicine taste bitter\0","All roads lead to Rome\0","All rivers run into sea\0","All that ends well is well\0","Blood well is blood\0","Business is business\0","Cry for the moon\0","Do as romans do\0"}; initgraph(680, 480); // 初始化屏幕为 640x480

srand(time(NULL)); // 设置随机种子

setfont(16, 0, "Arial"); // 设置字母的字体和大小

setfillstyle(BLACK);// 设置清除字母的填充区域颜色

int n; // 目标字母

char key; // 用户的按键

int x, y; // 字母的位置

welcome();

// 主循环

while(true)

{

n=rand()%10;

b++; // 产生任意大写字母

x = rand() % 620; // 产生任意下落位置

for (y=0; y<460; y++)

{

setcolor(WHITE); // 设置字母的颜色

outtextxy(x, y, l[n]); // 显示字母

if( kbhit() )

{

int i,re=0; // 获取用户输入,并确认是否正确

for(i=0 ;l[n][i]!='\0';i++)

{

key=getch();

if(l[n][i]==key)

{setcolor(YELLOW);outtextxy(x+6*i,y+15 ,l[n][i]) ; continue;}

else {re++;break;}

}

if(re==0)

{

// 按键正确,"击落"字母(画黑色方块擦除)

bar(x, y, x + 270, y + 32); // 跳出循环,进行下一个字母

break;

}

else if (key == 27)

{

goto EXIT; // 如果按 ESC,退出游戏主循环

}

}

// 延时,并清除字母

Sleep(2);

bar(x, y, x + 170, y + 16);

}

}

EXIT:

// 退出部分

goodbye();

// 关闭图形界面

closegraph();

} void main()

{

initgraph(640, 480);

welcome();

cleardevice();

setcolor(YELLOW);

setfont(64, 0, "黑体");

outtextxy(160, 50, "打字母游戏");

setcolor(WHITE);

setfont(16, 0, "宋体");

outtextxy(100, 200, "接下来 欢迎来到地狱");

outtextxy(100, 240, "在一切开始之前,请先选择您将面对的挑战");

outtextxy(100, 280, "1.纯大写字母,欢迎小盆友们选择");

outtextxy(100, 320, "2.大小写混合,继续欢迎小盆友们选择");

outtextxy(100,360,"3.单词,对于大家是个不错的选择");

outtextxy(100,400,"4.句子,相信我,一切开始于结束之后");

outtextxy(100,440,"*************************************");

int choose;

scanf("%d",&choose);

cleardevice();

switch(choose)

{

case 1:

level1();

case 2:

level2();

case 3:

level3();

case 4:

level4();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值