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

每天一个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); // 初始化屏幕为 640×480

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;

}

大家赶紧去动手试试吧!

审核编辑:汤梓红

发表评论