嵌入式技术
每天一个C语言小项目,提升自己的编程能力!
《字母游戏》是一款有趣的打字游戏,可以提高你的打字速度。
今天就用C语言写了这么个打字母的小程序,就是以前学习机上那种字母往下掉,然后按相应键字母消失的游戏。
程序不长,尤其很大篇幅都是开始和结束的文字绘制,除去这些没几行代码了,感觉做个范例还是很有用的。
又补了个小特效,加了点注释,凑了整 100 行~
编译环境:Visual C++ 6.0 / VS2019/2022,EasyX插件
源码示例:
#include#include #include // 欢迎界面 void welcome() { // 输出屏幕提示 cleardevice(); settextcolor(YELLOW); settextstyle(64, 0, _T("黑体")); outtextxy(160, 50, _T("打字母游戏")); settextcolor(WHITE); settextstyle(16, 0, _T("宋体")); outtextxy(100, 200, _T("就是很传统的那个掉字母然后按相应键就消失的游戏")); outtextxy(100, 240, _T("只是做了一个简单的实现")); outtextxy(100, 280, _T("功能并不很完善,比如生命数、分数等都没有写")); outtextxy(100, 320, _T("感兴趣的自己加进去吧")); // 实现闪烁的“按任意键继续” int c = 255; while (!_kbhit()) { settextcolor(RGB(c, 0, 0)); outtextxy(280, 400, _T("按任意键继续")); c -= 8; if (c < 50) c = 255; Sleep(30); } _getch(); cleardevice(); } // 退出界面 void goodbye() { cleardevice(); settextcolor(YELLOW); settextstyle(48, 0, _T("黑体")); outtextxy(104, 180, _T("多写程序 不老青春")); _getch(); } // 主函数 int main() { initgraph(640, 480); // 初始化屏幕为 640x480 welcome(); // 显示欢迎界面 srand((unsigned)time(NULL)); // 设置随机种子 settextstyle(20, 0, _T("Arial")); // 设置字母的字体和大小 setfillcolor(BLACK); // 设置清除字母的填充区域颜色 char target; // 目标字母 char key; // 用户的按键 int x, y; // 字母的位置 // 主循环 while (true) { target = 65 + rand() % 26; // 产生任意大写字母 x = rand() % 620; // 产生任意下落位置 for (y = 0; y < 460; y++) { settextcolor(WHITE); // 设置字母的颜色 outtextxy(x, y, target); // 显示字母 if (_kbhit()) { key = _getch(); // 获取用户按键 if ((key == target) || (key == target + 32)) { // 按键正确,“击落”字母(画黑色方块擦除) solidrectangle(x, y, x + 20, y + 20); break; // 跳出循环,进行下一个字母 } else if (key == 27) { goto EXIT; // 如果按 ESC,退出游戏主循环 } } // 延时,并清除字母 Sleep(10); solidrectangle(x, y, x + 20, y + 20); } } EXIT: // 退出部分 goodbye(); // 关闭图形界面 closegraph(); return 0; }
大家赶紧去动手试试吧!
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !