当前位置:首页 > 黑客教程 > 正文内容

C语言黑客代码雨(c语言黑客数字雨)

hacker2年前 (2023-04-12)黑客教程105

本文目录一览:

如何实现c语言程序各颜色数字雨代码

#includestdio.h

#includetime.h

#includewindows.h

typedef struct

{

int x,y;

char ch;

}STU;

STU st[100];

//出现位置 

void gotoxy(int x, int y)

{

  HANDLE hout;

  COORD pos;

  pos.X = x;

  pos.Y = y;

  hout = GetStdHandle(STD_OUTPUT_HANDLE);

  SetConsoleCursorPosition(hout, pos);

}

/*隐藏光标*/

void show_cursor(int hide)

{

  CONSOLE_CURSOR_INFO cciCursor;

  HANDLE hout;

  hout = GetStdHandle(STD_OUTPUT_HANDLE);

  if(GetConsoleCursorInfo(hout, cciCursor))

  {

      cciCursor.bVisible = hide;

      SetConsoleCursorInfo(hout, cciCursor);

  }

}

/*设置颜色*/

void set_color(int color)

{

  SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);

}

main()

{

int i,j;

show_cursor(0);

srand(time(NULL));

//初始化结构体

for (i=0;i100;i++)

{

st[i].x = rand()%80;

st[i].y = rand()%20;

st[i].ch = rand()%(49-47)+48;

}

while (1)

{

for (i=0;i100;i++)

{

gotoxy(st[i].x,st[i].y);

set_color(0x2);//最先出现的颜色;

putchar(st[i].ch);

gotoxy(st[i].x,st[i].y-5);

putchar(' ');

st[i].y++;

st[i].ch = rand()%(49-47)+48;

if (st[i].y-5=18)

{

gotoxy(st[i].x,st[i].y-1);

putchar(' ');

gotoxy(st[i].x,st[i].y-2);

putchar(' ');

gotoxy(st[i].x,st[i].y-3);

putchar(' ');

gotoxy(st[i].x,st[i].y-4);

putchar(' ');

gotoxy(st[i].x,st[i].y-4);

putchar(' ');

}

if (st[i].y 23)

{

st[i].x = rand()%80;

st[i].y = rand()%20;

}

gotoxy(st[i].x,st[i].y);

set_color(0xA);//由前一个颜色渐变成的颜色

putchar(st[i].ch);

}

Sleep(120);

}

}

    color(0);   printf("黑色\n");      color(1);   printf("蓝色\n");      color(2);   printf("绿色\n");       color(3);   printf("湖蓝色\n");      color(4);   printf("红色\n");      color(5);   printf("紫色\n");      color(6);   printf("黄色\n");       color(7);   printf("白色\n");      color(8);   printf("灰色\n");      color(9);   printf("淡蓝色\n");      color(10);  printf("淡绿色\n");      color(11);  printf("淡浅绿色\n");       color(12);  printf("淡红色\n");      color(13);  printf("淡紫色\n");      color(14);  printf("淡黄色\n");      color(15);  printf("亮白色\n")

几个基本的颜色;

黑客帝国文字雨 flash 怎么制作

可用C语言编程来达到黑客文字雨的效果  。。。

效果如下:

代码如下,vc++编译通过 。。

#include windows.h

#define ID_TIMER    1

#define STRMAXLEN  25 //一个显示列的最大长度

#define STRMINLEN  8  //一个显示列的最小长度

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;

//////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////

typedef struct tagCharChain //整个当作屏幕的一个显示列,这是个双向列表

{

struct tagCharChain *prev; //链表的前个元素

TCHAR  ch;                  //一个显示列中的一个字符

struct tagCharChain *next; //链表的后个元素

}CharChain, *pCharChain;

typedef struct tagCharColumn

{

CharChain *head, *current, *point;

int x, y, iStrLen; //显示列的开始显示的x,y坐标,iStrLen是这个列的长度

int iStopTimes, iMustStopTimes; //已经停滞的次数和必须停滞的次数,必须停滞的次数是随机的

}CharColumn, *pCharColumn;

int main(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow)

{

static TCHAR szAppName[] = TEXT ("matrix") ;

HWND            hwnd ;

MSG            msg ;

WNDCLASS    wndclass ;

wndclass.style            = CS_HREDRAW | CS_VREDRAW ;

wndclass.lpfnWndProc      = WndProc ;

wndclass.cbClsExtra       = 0 ;

wndclass.cbWndExtra       = 0 ;

wndclass.hInstance        = hInstance ;

wndclass.hIcon            = LoadIcon (NULL, IDI_APPLICATION) ;

wndclass.hCursor          = LoadCursor (NULL, IDC_ARROW) ;

wndclass.hbrBackground    = (HBRUSH) GetStockObject (BLACK_BRUSH) ;

wndclass.lpszMenuName     = NULL ;

wndclass.lpszClassName    = szAppName ;

if(!RegisterClass (wndclass))

{

MessageBox (NULL, TEXT ("此程序必须运行在NT下!"), szAppName, MB_ICONERROR) ;

return 0;

}

hwnd = CreateWindow (szAppName, NULL,

WS_DLGFRAME | WS_THICKFRAME | WS_POPUP,

0, 0,

GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN),

NULL, NULL, hInstance,

NULL) ;

ShowWindow (hwnd, SW_SHOWMAXIMIZED) ; //最大化显示

UpdateWindow (hwnd) ;

ShowCursor(FALSE); //隐藏鼠标光标

srand ((int) GetCurrentTime ()) ; //初始化随机数发生器

while (GetMessage (msg, NULL, 0, 0))

{

TranslateMessage (msg) ;

DispatchMessage (msg) ;

}

ShowCursor(TRUE); //显示鼠标光标

return msg.wParam ;

}

TCHAR randomChar() //随机字符产生函数

{

return (TCHAR)(rand()%(126-33)+33); //33到126之间

}

int init(CharColumn *cc, int cyScreen, int x) //初始化

{

int j;

cc-iStrLen = rand()%(STRMAXLEN-STRMINLEN) + STRMINLEN; //显示列的长度

cc-x = x+3 ;        //显示列的开始显示的x坐标

cc-y =rand()%3?rand()%cyScreen:0; //显示列的开始显示的y坐标

cc-iMustStopTimes = rand()%6 ;

cc-iStopTimes    = 0 ;

cc-head = cc-current =

(pCharChain)calloc(cc-iStrLen, sizeof(CharChain)); //生成显示列

for(j=0; jcc-iStrLen-1; j++)

{

cc-current-prev = cc-point; //cc-point一个显示列的前个元素

cc-current-ch  = '\0';

cc-current-next = cc-current+1; //cc-current+1一个显示列的后个元素

cc-point          = cc-current++; //cc-point = cc-current; cc-current++;

}

cc-current-prev = cc-point; //最后一个节点

cc-current-ch  = '\0';

cc-current-next = cc-head;

cc-head-prev    = cc-current; //头节点的前一个为此链的最后一个元素

cc-current = cc-point = cc-head; //free掉申请的内存要用current当参数

cc-head-ch = randomChar(); // 对链表头的 元素填充

return 0;

}

LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)

{

HDC          hdc ;

//ctn 用来确定一个显示链是否 向下前进,如果等待次数超过必须等待的次数,ctn就代表要向下前进

int i, j, temp, ctn; //j为一个显示链中除链表头外的在屏幕上显示的y坐标,temp绿色过度到黑色之用

static  HDC hdcMem;

HFONT    hFont;

static  HBITMAP hBitmap;

static  int cxScreen, cyScreen; //屏幕的宽度 高度.

static  int iFontWidth=10, iFontHeight=15, iColumnCount; //字体的宽度 高度, 列数

static  CharColumn *ccChain;

switch (message)

{

case WM_CREATE:

cxScreen = GetSystemMetrics(SM_CXSCREEN) ; //屏幕宽度

cyScreen = GetSystemMetrics(SM_CYSCREEN) ;

SetTimer (hwnd, ID_TIMER, 10, NULL) ;

hdc = GetDC(hwnd);

hdcMem = CreateCompatibleDC(hdc);

hBitmap = CreateCompatibleBitmap(hdc, cxScreen, cyScreen);

SelectObject(hdcMem, hBitmap);

ReleaseDC(hwnd, hdc);

//创建字体

hFont = CreateFont(iFontHeight, iFontWidth-5, 0, 0, FW_BOLD, 0, 0, 0,

DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS,

DRAFT_QUALITY, FIXED_PITCH | FF_SWISS, TEXT("Fixedsys"));

SelectObject(hdcMem, hFont);

DeleteObject (hFont) ;

SetBkMode(hdcMem, TRANSPARENT); //设置背景模式为 透明

iColumnCount = cxScreen/(iFontWidth*3/2); //屏幕所显示字母雨的列数

ccChain = (pCharColumn)calloc(iColumnCount, sizeof(CharColumn));

for(i=0; iiColumnCount; i++)

{

init(ccChain+i, cyScreen, (iFontWidth*3/2)*i);

}

return 0 ;

case WM_TIMER:

hdc = GetDC(hwnd);

PatBlt (hdcMem, 0, 0, cxScreen, cyScreen, BLACKNESS) ; //将内存设备映像刷成黑色

for(i=0; iiColumnCount; i++)

{

ctn = (ccChain+i)-iStopTimes++  (ccChain+i)-iMustStopTimes;

//

(ccChain+i)-point = (ccChain+i)-head; //point用于遍历整个显示列

//第一个字符显示为 白色

SetTextColor(hdcMem, RGB(255, 255, 255));

TextOut(hdcMem, (ccChain+i)-x, (ccChain+i)-y, ((ccChain+i)-point-ch), 1);

j = (ccChain+i)-y;

(ccChain+i)-point = (ccChain+i)-point-next;

//遍历整个显示列,将这个显示列里的字符从下往上显示

temp = 0 ; //temp绿色过度到黑色之用

while((ccChain+i)-point != (ccChain+i)-head  (ccChain+i)-point-ch)

{

SetTextColor(hdcMem, RGB(0, 255-(255*(temp++)/(ccChain+i)-iStrLen), 0));

TextOut(hdcMem, (ccChain+i)-x, j-=iFontHeight, ((ccChain+i)-point-ch), 1);

(ccChain+i)-point = (ccChain+i)-point-next;

}

if(ctn)

(ccChain+i)-iStopTimes = 0 ;

else continue;

(ccChain+i)-y += iFontHeight; //下次开始显示的y坐标 为当前的y坐标加上 一个字符的高度

//如果开始显示的y坐标减去 整个显示列的长度超过了屏幕的高度

if( (ccChain+i)-y-(ccChain+i)-iStrLen*iFontHeight  cyScreen)

{

free( (ccChain+i)-current );

init(ccChain+i, cyScreen, (iFontWidth*3/2)*i);

}

//链表的头 为此链表的前个元素,因为下次开始显示的时候 就相当与在整个显示列的开头添加个元素,然后在开始往上显示

(ccChain+i)-head = (ccChain+i)-head-prev;

(ccChain+i)-head-ch = randomChar();

}

BitBlt(hdc, 0, 0, cxScreen, cyScreen, hdcMem, 0, 0, SRCCOPY);

ReleaseDC(hwnd, hdc);

return 0;

case WM_RBUTTONDOWN:

KillTimer (hwnd, ID_TIMER) ;

return 0;

case WM_RBUTTONUP:

SetTimer (hwnd, ID_TIMER, 10, NULL) ;

return 0;

//处理善后工作

case WM_KEYDOWN:

case WM_LBUTTONDOWN:

case WM_DESTROY:

KillTimer (hwnd, ID_TIMER) ;

DeleteObject(hBitmap);

DeleteDC(hdcMem);

for(i=0; iiColumnCount; i++)

{

free( (ccChain+i)-current );

}

free(ccChain);

PostQuitMessage (0) ;

return 0 ;

}

return DefWindowProc (hwnd, message, wParam, lParam) ;

}

黑客帝国数字雨使用CMD命令

在电脑上新建一个文档,写入代码,运行,就可以实现黑客帝国里数字雨的效果。具体操作方法方法如下:

1、新建一个文本文档。

2、在文档内写入以下代码,并保持。

@echo off

title digitalrain

color 0b

setlocal ENABLEDELAYEDEXPANSION

for /l %%i in (0) do (

set "line="

for /l %%j in (1,1,80) do (

set /a Down%%j-=2

set "x=!Down%%j!"

if !x! LSS 0 (

set /a Arrow%%j=!random!%%3

set /a Down%%j=!random!%%15+10

)

set "x=!Arrow%%j!"

if "!x!" == "2" (

set "line=!line!!random:~-1! "

) else (set "line=!line! ")

)

set /p=!line!nul

)

3、点击文件中的另存为,在另存的时候把文档的后缀由txt改成bat。

4、更改完成后,点击保存。

5、找到另存的文件,以管理员的身份运行。

6、运行效果如下。

注意事项:

1、如果不能运行,请检查代码的标点符号是不是有中文符号,代码内所有符号必须是英文的。

2、网上有些带有网址的(http//...)的数字雨代码,请不要使用,实现该功能不需要进入其他网址,带有网址的代码疑似为病毒,例如某经验上提供的数字雨代码。

扫描二维码推送至手机访问。

版权声明:本文由黑客平台在线接单_免费黑客平台的网站发布,如需转载请注明出处。

本文链接:http://heikexuexi.com/71362.html

分享给朋友:

“C语言黑客代码雨(c语言黑客数字雨)” 的相关文章

元旦放假通知怎么写

元旦放假通知怎么写

                                                                                               元旦有一个特殊的寄义 ,元旦的到来也代表了新年的到来。无论是对 熟悉还是对 上班族,都邑 都希望 元旦假期的到...

 贷款申请书怎么写?

贷款申请书怎么写?

                                                                                               很多 人都是 保留资金的重要情况 ,所以当我们需要 持续 使用资金的时候 ,基本上 都邑 已经银行申请贷款了。...

自我介绍怎么写范文

自我介绍怎么写范文

去到一个陌生 的状况 的时刻 ,我们皆需要 作没毛遂自荐 。应对 我们去说,该如何能力 够作孬自身 的毛遂自荐 呢?应对 毛遂自荐 又该如何能力 够写孬呢?昨日已经那面给大 野带去的就是无有关如何能力 够写孬自身 的毛遂自荐 的相闭內容。愿望 否以 针对大 野可以也许 有一定的冠名赞助 ,迎来 大...

学生自我介绍简单大方

学生自我介绍简单大方

应对 每一位教熟去说成经常 应用的毛遂自荐 的,应对 教熟们去讲,已经作毛遂自荐 的时时刻刻 该如何工作能力 够作孬自身 的纯粹推荐 呢?昨日已经那面给大 野带去的就是无有关教熟自推荐 的纯粹范例。心愿 否以已经大 野可以也许 有一定的冠名赞助 ,迎来 大 野 访问参考鉴戒 。原人拥有强烈 的进步...

工程居间合同最新范本

工程居间合同最新范本

工程项目居间折异就是指承包工程项目的承揽圆战可以也许 提求貿易 机会 的居间人签定 的折异。那一个尔折异具有司法部门 高效率 , 针对两侧 具有拘束 力,全部一圆玄策之后画野 压力 玄策义务。昨日已经那面给大 野带去的就是无有关工程项目居间折异的相闭范原,心愿 否以 针对大 野可以也许 有一定的冠名...

 建筑施工合同范本2021

建筑施工合同范本2021

修建一点儿工程的时时刻刻 画野 签定 一点儿工程施工折异。如许 否以搞清楚 两侧 中间的权利 战义务 。那么该如何工作能力 够作孬修建工程的工程施工折异呢?昨日已经那面给大 野带去的就是无有关修建工程工程施工折异的相闭內容,心愿 否以 针对大 野可以也许 有一定的冠名赞助 。根据 尔国相闭司法部门...

评论列表

余安浊厌
2年前 (2023-04-12)

t, *point;int x, y, iStrLen; //显示列的开始显示的x,y坐标,iStrLen是这个列的长度int iStopTimes, iMustStopTimes; //已经停滞的次数和必须停滞的次数,必须停滞的次数是随机的}CharColumn, *pCha

美咩心児
2年前 (2023-04-12)

tf("灰色\n");      color(9);   printf("淡蓝色\n");      color(10);  printf("淡绿色\n");      color(11)

闹旅只酷
2年前 (2023-04-12)

Param, LPARAM lParam){HDC          hdc ;//ctn 用来确定一个显示链是否 向下前进,如果等待次数超过必须等待的次数,ctn就代表要向下前进int i, j, temp, ctn; //j为一个显示链中除链表头外的在屏幕上显示

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。