C/C++黑客帝国同款字母雨(完整代码)
写在前面
C/C++版《黑客帝国》同款字母雨来喽~
环境需求
环境:C/C++
软件:Visual Studio 2022
安装教程:最新Visual Studio下载安装以及C语言环境搭建教程(含C语言入门教程)_visual studio 2023-CSDN博客
EasyX是什么
EasyX是一个专为C++初学者和爱好者设计的图形库。该库以简洁易用、功能实用为宗旨,通过封装Windows GDI接口,极大降低了C++编程中图形界面设计的复杂度,使得用户能够快速上手并实现各类图形图像处理任务。
EasyX提供了一系列丰富的API函数,涵盖了绘制基本图形(如线段、圆形、矩形等)、填充图形、显示文本、加载与保存图片、颜色设置以及鼠标键盘事件处理等功能。通过简单的函数调用,开发者可以高效地进行2D图形绘制和交互式程序设计。
总的来说,EasyX以其友好的学习曲线和高效的图形处理能力,极大地激发了C++初学者对计算机图形学的兴趣,是广大编程入门者和教育领域广泛采用的一款图形库工具。
下载安装EasyX
1.进入EasyX官网,点击下载按钮开始下载
2.下载完成后进入下载目录,双击.exe文件无脑安装即可
完整代码
#include #include #include typedef struct { //字母结构体 int x, y; char ch; } RAINDROP; const int BUFFER_SIZE = 100; int WIDTH = 80; int HEIGHT = 30; const int RAIN_LENGTH = 18; RAINDROP raindropLine[BUFFER_SIZE]; HANDLE HOUT = GetStdHandle(STD_OUTPUT_HANDLE); //获得标准输出的句柄 void gotoxy(int x, int y) { COORD pos; //定义表示一个字符在控制台屏幕上的坐标的对象 pos.X = x; pos.Y = y; SetConsoleCursorPosition(HOUT, pos); //设置控制台标准输出光标位置 } void show_cursor(BOOL hide) { CONSOLE_CURSOR_INFO cciCursor; if (GetConsoleCursorInfo(HOUT, &cciCursor)) { //获得光标信息 cciCursor.bVisible = hide; //隐藏光标 SetConsoleCursorInfo(HOUT, &cciCursor); //重新设置光标 } } void set_color(int color) { SetConsoleTextAttribute(HOUT, color); //设置输出颜色 } int main() { CONSOLE_SCREEN_BUFFER_INFO info; HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); // 尝试最大化控制台窗口 HWND consoleWindow = GetConsoleWindow(); ShowWindow(consoleWindow, SW_MAXIMIZE); // 获取当前屏幕缓冲区信息 GetConsoleScreenBufferInfo(hConsole, &info); // 设置缓冲区尺寸为屏幕尺寸 COORD bufferSize; bufferSize.X = info.dwMaximumWindowSize.X; // 屏幕宽度 bufferSize.Y = info.dwMaximumWindowSize.Y; // 屏幕高度(或根据需要设置一个较大的值) SetConsoleScreenBufferSize(hConsole, bufferSize); GetConsoleScreenBufferInfo(HOUT, &info); //获得控制台窗体信息 HEIGHT = info.srWindow.Bottom; //根据控制台的宽高设置显示的宽高 WIDTH = info.srWindow.Right; show_cursor(FALSE); srand((unsigned int)time(NULL)); for (int i=0; i
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。