c语言打字母游戏源码

#include <graphics.h>
#include <conio.h>
#include <time.h>
 

// 欢迎界面
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();
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟-宇的个人博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值