C/C++黑客帝国同款字母雨(完整代码)

06-26 1213阅读

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

C/C++黑客帝国同款字母雨(完整代码)

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
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]