c语言打字母游戏源码

举报
C语言与CPP编程 发表于 2021/06/03 23:18:45 2021/06/03
【摘要】 #include <graphics.h>#include <conio.h>#include <time.h> // 来自公众号:c语言与cpp编程 // 欢迎界面void welcome(){ // 输出屏幕提示 cleardevice(); setcolor(YELLOW); setfont(64, 0, "黑体"); outtext...

      #include <graphics.h>
      #include <conio.h>
      #include <time.h>
      // 来自公众号:c语言与cpp编程
      // 欢迎界面
      void welcome()
      {
     	// 输出屏幕提示
      	cleardevice();
      	setcolor(YELLOW);
      	setfont(64, 0, "黑体");
      	outtextxy(160, 50, "打字母游戏");
      	setcolor(WHITE);
      	setfont(16, 0, "宋体");
      	outtextxy(100, 200, "就是很传统的那个掉字母然后按相应键就消失的游戏");
      	outtextxy(100, 240, "只是做了一个简单的实现");
      	outtextxy(100, 280, "功能并不很完善,比如生命数、分数等都没有写");
      	outtextxy(100, 320, "感兴趣的自己加进去吧");
     	// 实现闪烁的“按任意键继续”
     	int c=255;
     	while(!kbhit())
      	{
      		setcolor(RGB(c, 0, 0));
      		outtextxy(280, 400, "按任意键继续");
      		c -= 8;
     		if (c < 0) c = 255;
      		Sleep(20);
      	}
      	getch();
      	cleardevice();
      }
      // 退出界面
      void goodbye()
      {
      	cleardevice();
      	setcolor(YELLOW);
      	setfont(48, 0, "黑体");
      	outtextxy(104, 180, "多写程序 不老青春");
      	getch();
      }
      // 主函数
      void main()
      {
      	initgraph(640, 480);		// 初始化屏幕为 640x480
      	welcome(); // 显示欢迎界面
      	srand(time(NULL));			// 设置随机种子
      	setfont(16, 0, "Arial");	// 设置字母的字体和大小
      	setfillstyle(BLACK);		// 设置清除字母的填充区域颜色
     	char target; // 目标字母
     	char key; // 用户的按键
     	int x, y; // 字母的位置
     	// 主循环
     	while(true)
      	{
      		target = 65 + rand() % 26;		// 产生任意大写字母
      		x = rand() % 620; // 产生任意下落位置
     		for (y=0; y<460; y++)
      		{
      			setcolor(WHITE);			// 设置字母的颜色
      			outtextxy(x, y, target);	// 显示字母
     			if(kbhit())
      			{
       key = getch();			// 获取用户按键
      if((key == target) || (key == target + 32))
       {
      // 按键正确,“击落”字母(画黑色方块擦除)
       bar(x, y, x + 16, y + 16);
      break; // 跳出循环,进行下一个字母
       }
      else if (key == 27)
       {
      goto EXIT;			// 如果按 ESC,退出游戏主循环
       }
      			}
     			// 延时,并清除字母
      			Sleep(10);
      			bar(x, y, x + 16, y + 16);
      		}
      	}
      EXIT:
     	// 退出部分
      	goodbye();
     	// 关闭图形界面
      	closegraph();
      }
  
 

文章来源: blog.csdn.net,作者:C语言与CPP编程,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_41055260/article/details/112107302

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。