200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > C语言零基础项目:打字母游戏!详细思路+源码分享

C语言零基础项目:打字母游戏!详细思路+源码分享

时间:2022-02-23 14:55:23

相关推荐

C语言零基础项目:打字母游戏!详细思路+源码分享

每天一个C语言小项目,提升自己的编程能力!​

《字母游戏》是一款有趣的打字游戏,可以提高你的打字速度。

今天就用C语言写了这么个打字母的小程序,就是以前学习机上那种字母往下掉,然后按相应键字母消失的游戏。

程序不长,尤其很大篇幅都是开始和结束的文字绘制,除去这些没几行代码了,感觉做个范例还是很有用的。

又补了个小特效,加了点注释,凑了整 100 行~

编译环境:Visual C++ 6.0 / VS/,EasyX插件

源码示例:

#include <graphics.h>#include <conio.h>#include <time.h>// 欢迎界面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);// 初始化屏幕为 640x480welcome();// 显示欢迎界面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;}

大家赶紧去动手试试吧!

此外,我也给大家分享我收集的其他资源,从最零基础开始的教程到C语言C++项目案例,帮助大家在学习C语言的道路上披荆斩棘!

整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)最重要的是你可以在群里面交流提问编程问题哦!

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!(↓↓↓↓↓↓)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。