每天一个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;}
大家赶紧去动手试试吧!
诚迈科技子公司智达诚远荣获智慧汽车数字化转型解决方案飞越奖
比特币混币器大多都是用于隐私目的而非非法活动
高通人工智能开放AI芯片首秀:骁龙855无地自容
物联网的发展对于芯片的发展有什么帮助
春节返程高峰即将来临 AI测温仪悄无声息地全面投入使用
C语言零基础项目:打字母游戏!详细思路+源码分享
MobData发布了2018 Q3中国智能手机市场调研报告
厚度测量仪的作用是什么,它的应用领域有哪些
新加坡研发出一款外形神似魔鬼鱼的新型机器人
5G时代的到来使得模拟射频迎来产业链发展机遇
10种常用电容的分类和用途
弯到没朋友的三星、LG可折叠手机
诺基亚又一情怀没了:放弃蔡司镜头 新机不再用!
LT9611UX 是一款高性能 MIPI DSI/CSI 至 HDMI2.0 转换器
Dialog推出用于高功率密度PSU的零电压开关技术,扩充AC/DC产品组合
单片机开发中应掌握的几个基本技巧
远程预付费电能管理系统在学校的应用
磁芯对变压器的工作有何影响呢?
苹果仍称霸Q3日本智慧机销售市场 但下行趋势显现
三大运营商5G手机终端连接数达2.6亿户