c++实现数字雨效果的方法是什么

  介绍

这篇文章给大家分享的是有关c++实现数字雨效果的方法是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

 # include & lt; windows.h>
  
  #定义ID_TIMER 1
  #定义STRMAXLEN 25//一个显示列的最大长度
  #定义STRMINLEN 8//一个显示列的最小长度
  
  LRESULT调指向(HWND,使用UINT按钮,LPARAM);////typedef struct tagCharChain//整个当作屏幕的一个显示列,这是个双向列的表
  {
  struct tagCharChain *:;//链表的前个元素
  TCHAR ch;//一个显示列中的一个字符
  struct tagCharChain *下;//链表的后个元素
  * pCharChain} CharChain;
  
  typedef struct tagCharColumn
  {
  CharChain *, *, *点;
  int x, y, iStrLen;//显示列的开始显示的x, y坐标,iStrLen是这个列的长度
  int iStopTimes iMustStopTimes;//已经停滞的次数和必须停滞的次数,必须停滞的次数是随机的
  * pCharColumn} CharColumn;
  
  int主要(实例句柄实例句柄,实例句柄hPrevInstance,
  PSTR szCmdLine, int iCmdShow)
  {
  静态TCHAR szAppName[]=文本(“matrix");
  HWND HWND;
  味精味精;
  WNDCLASS WNDCLASS;
  
  wndclass。风格=移| CS_VREDRAW;
  wndclass。lpfnWndProc=指向;
  wndclass。cbClsExtra=0;
  wndclass。cbWndExtra=0;
  wndclass。实例句柄=实例句柄;
  wndclass。hIcon=LoadIcon (NULL, IDI_APPLICATION);
  wndclass。hCursor=LoadCursor (NULL, IDC_ARROW);
  wndclass。hbrBackground=(HBRUSH) GetStockObject (BLACK_BRUSH);
  wndclass。lpszMenuName=零;
  wndclass。lpszClassName=szAppName;
  
  如果(!RegisterClass(及wndclass))
  {
  对话框(NULL,文本(“此程序必须运行在NT下!“),szAppName, MB_ICONERROR);
  返回0;
  }
  
  hwnd=CreateWindow (szAppName、零
  栏的| WS_THICKFRAME | WS_POPUP,
  0,0,
  GetSystemMetrics (SM_CXSCREEN) GetSystemMetrics (SM_CYSCREEN),
  空,空,实例句柄,
  零);
  
  显示窗口(hwnd, SW_SHOWMAXIMIZED);//最大化显示
  UpdateWindow (hwnd);
  ShowCursor(假);//隐藏鼠标光标
  
  将srand ((int) GetCurrentTime ());//初始化随机数发生器
  而(GetMessage(和味精,NULL, 0, 0))
  {
  TranslateMessage(和味精);
  DispatchMessage(和味精);
  }
  ShowCursor(真正的);//显示鼠标光标
  返回味精。按钮;
  }
  
  TCHAR randomChar()//随机字符产生函数
  {
  返回(TCHAR) (rand () % 2 + 48);//字符0或1
  }
  
  int init (cyScreen CharColumn * cc, int, int x)//初始化
  {
  int j;
  cc→iStrLen=rand () % (STRMAXLEN-STRMINLEN) + STRMINLEN;//显示列的长度
  cc→x=x + 3;//显示列的开始显示的x坐标
  cc→y=rand () % 3, # 63; rand () % cyScreen: 0;//显示列的开始显示的y坐标
  cc→iMustStopTimes=rand () % 6;
  cc→iStopTimes=0;
  cc→头=cc→当前=(pCharChain) calloc (cc→iStrLen, sizeof (CharChain));//生成显示列
  (j=0;jc++实现数字雨效果的方法是什么