黑客帝国代码雨源(黑客代码雨源码)
本文目录一览:
- 1、可不可以教我黑客帝国数字雨的制作
- 2、黑客帝国2在NEO进入代码之源后,建筑师说了什么,网上看不见啊
- 3、黑客帝国--绿色字母雨代码--知道的进
- 4、黑客帝国数字雨使用CMD命令
- 5、求黑客帝国数字雨的制作方法
可不可以教我黑客帝国数字雨的制作
#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) ;
}
VC++中运行
黑客帝国2在NEO进入代码之源后,建筑师说了什么,网上看不见啊
Hello, Neo.
-Who are you?
-I am the Architect. I created the Matrix. I've been waiting for you.
You have many questions. Though the process has altered your consciousness you remain irrevocably human.
这段经历改变了你的意识,但你仍然保有人性。
Ergo, some of my answers you will understand and some you will not.
Concordantly(也许), while your first question may be the most pertinent(迫切的) you may or may not ealize it is also the most irrelevant(不重要).
-Why am I here?
-Your life is the sum of a remainder(残余) of an unbalanced equation inherent(内在的) to the programing of the Matrix.
You are the eventuality of an anomaly(异常现象), which despite my sincerest efforts I've been unable to eliminate(消除) from what is otherwise a harmony of mathematical precision(数学精度的和谐).
While it remains a burden assiduously avoided(无可避免地) it is not unexpected(意外) and thus not beyond a measure fo control which has led you, inexorably(无情地) here.
-You haven't answered my question.
-Quite right.Interesting.That was quicker than the others.
The Matrix is older than you know.
I prefer to count from the emergence of one integral anomaly(整体的异常) to the emergence of the next.
In which case, this is the sixth version.
There are only two possible explanations.
-Either no one told me or no one knows.
-Precisely.
As you are undoubtedly gathering, the anomaly is systemic creating fluctuations(异常是系统的创造起伏) in even the most simplistic equations.
-Choice. The problem is choice.
The first Matrix I designed was naturally perfect, a work of art. Flawless, sublime.
A triumph equaled only by its monumental failure.(越完美,失败得越彻底)
The inevitability of its doom(命运) is apprent now as a consequence of the imperfection(缺陷)inherent in every human.
Thus, I redesigned it based on your history to more accurately reflect the varying grotestqueries(陋习) of your nature.
However, I was again frustrated by failure.
I have come to understand that the answer eluded(逃避) me bacause it required a lesser mind(次等的智力).
Or perhaps, a mind less bound(约束) by the parameters of perfection.
Thus, the answer was stumbled upon(无意中发现) by another, an intuitive program(直觉性程序) initially created to investigate certain aspects of the human psyche(灵魂).
If I am the father of the Matrix, she would undoubtedly be its mother.
-The Oralce
-Please.As I was saying, she stumbled upon a solution whereby 99 percent of subjects accepted the program, as long as they were given a choice even if they were only aware of the choice at a near unconscious(潜意识的) level.
While this answer functioned(有效), it was fundamentally(根本上) flawed thus creating the other wise contradictory(对立的) systemic anomaly that, if left unchecked(未处理), might threaten the system.
Ergo, those that refused the program, while a minorty, if unchecked would constitute(造成) an escalating(上升的) probability of disaster.
-This is about Zion.
-You are here because Zion is about to be destroyed.
Its every living inhabitant terminated, its entire existence eradicated(根除).
-Bullshit.
-Denial(否认) is the most predictable of all human responses.
But rest assured, this will be the sixth time we have destroyed it and we have become exceedingly efficient(极其有效率地) at it.
The function of the One is now to return to the source, allowing a dissemination(传播)
of the code you carry reinserting the prime(最初的) program.
After which you will be required to select from the Matrix 23 individuals sixteen female, seven male, to rebuild Zion.
Failure to comply with this process(不这样做) will result in a cataclysmic(灾难的) system crash killing everyone connected to the Matrix which, coupled with the extermination(毁灭) of Zion, will result in the extinction(灭绝) of the entire human race.
-You won't let it happen. You can't. You need human beings to survive.
-There are levels of survival we are prepared to accept.
The relevant issue is whether or not you are ready to accept the responsibility for the death of every human being in this world.
It is interesting reading your reactions.
Your five predecessors were, by design, based on a similar predication a contingent(意外的) affirmation(主张) that was meant to create a profound attachment to (深深的眷恋)the rest of your species, facilitating(促进) the function of the One.
While the others experience this in a general way, your experience is far more specific vis-a-vis(面对面的) love.
-Trinity!
-Apropos(恰当地), she entered the Matrix to save your life at the cost of her own.
-No.
-Which brings us at last to the moment of truth(关键时刻), wherein the fundamental flaw is ultimately expressed(表达) and the anomaly revealed(出现) as both beginning and end.
There are two doors. The door to your right leads to the source and the salvation(拯救) of Zion.
The door to your left leads back to the Matrix, to her and the end of your species.
As you adequately put(说过), the problem is choice.
But we already know what you are going to do, don't we?
Already I can see the chain reaction, the chemical precursors(化学物质) that signal(发信号) the onset(发动) of an emotion designed specifically to overwhelm logic and reason.
An emotion that is already blinding you from the simple and obvious truth: She is going to die and there is nothing you can do to stop it.
Hope. It is the quintessential(纯粹的) human delusion(妄想), simultaneously(同时) the source of your greatest strength and your greatest weakness.
-If I were you, I would hope that we don't meet again.
-We won't.
设计师:你好,尼欧!
尼欧:你是谁?
设计师:我就是这里的设计师,母体就是我设计出来的,我一直在等你,你有很多疑问,虽然程序改变了你的意识,但你仍然保有人性,所以在我给你的答案中,你只能理解其中的一部分,一般来说,你的第一个问题,可能是最急迫的,但你可能没有意识到,那同时也是最不重要的问题
尼欧:我为什么会在这儿?
设计师:你为什么会在这儿,你的生命,是母体的程式中,一些不等式的残留部分的总和。你,是异常程序的最终形式,无论我多努力,我一直无法通过完美的数据公式把你消除,否则的话,母体就是一个精确数学的完美融合,虽然这不可避免,但我预料到了,所以没让这错误完全失控,所以,你就到了,这里。
尼欧:你还没有回答我的问题
设计师:没错!有意思,你比其他人反应快了很多
尼欧:其他人,什么其他人?
设计师:母体的年龄比你想象的要老的多,如果把一个完整的异常程序到下一个完整的异常程序出现的时间算一代的话,一个个数下来,现在的你是第六代了
尼欧:我之前有五代?,胡扯,他在撒谎,只有两种可能的解释,我之前已经出现过五代了,要不就是没人告诉我,要不就是没人知道
设计师:正确。你身上毫无疑问的集中是所有异常程序,就算是最简单的程式,也会轻易被你影响而出错
尼欧:选择,问题的关键在选择上
设计师:我设计的第一款母体,可说是近乎完美,是一件完美无瑕的艺术品,极少缺陷,令人赞叹,一个胜利同时也是一个不朽的失败,无法避免的毁灭是显而易见的,人类天生的不完美所造成的结果,因此我以人类的历史为基础重新设计,更加准确的反映出了人类丑陋的本性,但是,我再一次失败了,我开始逐渐明白,答案一直在躲避我,因为母体需要的是低一级的设计,也需要的,是一些不完美的思路,但另外一个问题又开始困扰我,我无意间得到解答,那是一种直觉性程式,用来调查人类心理的某些层面,如果说我是母体的父亲,那么那个程序,就可以被看作是母体的母亲
尼欧:先知
设计师:哦,拜托,真如同我所讲的,她偶然发现一个解决办法,只要他们可以有选择权,99%的实验对象会接受母体,即使他们意识到,这个选择差不多是无意识,然而这种选择在运行时,也有它本身的缺陷,可能会造成系统的异常,如果不及时检查,甚至可能会威胁到系统本身,那些不接受母体的,虽然只有少数,但是放任不管的话,就会日渐壮大,并最终形成祸害
尼欧:你是说锡安?
设计师:锡安即将毁灭,锡安里的一切即将被毁灭
尼欧:胡说
设计师:拒绝是人类最直接的反应,但毫无疑问,这将是我们第六次去摧毁它,我们可以说是驾轻就熟了。救世主的功能,就是在这个时间,返回代码之源,将你身上携带的代码,重新插入主程序。
黑客帝国--绿色字母雨代码--知道的进
BODY
script language="JavaScript"
!--
if (document.all){
Cols=6;
Cl=24;//Space's are included so real length is 48!
Cs=10;
Ts=10;
Tc='#008800';
Tc1='#00ff00';
MnS=20;
MxS=30;
I=Cs;
Sp=new Array();S=new Array();Y=new Array();
C=new Array();M=new Array();B=new Array();
RC=new Array();E=new Array();Tcc=new Array(0,1);
document.write("div id='Container' style='position:absolute;top:0;left:-"+Cs+"'");
document.write("div style='position:relative'");
for(i=0; i Cols; i++){
S[i]=I+=Cs;
document.write("div id='A' style='position:absolute;top:0;font-family:Arial;font-size:"
+Ts+"px;left:"+S[i]+";width:"+Ts+"px;height:0px;color:"+Tc+";visibility:hidden'/div");
}
document.write("/div/div");
for(j=0; j Cols; j++){
RC[j]=1+Math.round(Math.random()*Cl);
Y[j]=0;
Sp[j]=Math.round(MnS+Math.random()*MxS);
for(i=0; i RC[j]; i++){
B[i]='';
C[i]=Math.round(Math.random()*1)+' ';
M[j]=B[0]+=C[i];
}
}
function Cycle(){
Container.style.top=window.document.body.scrollTop;
for (i=0; i Cols; i++){
var r = Math.floor(Math.random()*Tcc.length);
E[i] = 'font color='+Tc1+''+Tcc[r]+'/font';
Y[i]+=Sp[i];
if (Y[i] window.document.body.clientHeight){
for(i2=0; i2 Cols; i2++){
RC[i2]=1+Math.round(Math.random()*Cl);
for(i3=0; i3 RC[i2]; i3++){
B[i3]='';
C[i3]=Math.round(Math.random()*1)+' ';
C[Math.floor(Math.random()*i2)]=' '+' ';
M[i]=B[0]+=C[i3];
Y[i]=-Ts*M[i].length/1.5;
A[i].style.visibility='visible';
}
Sp[i]=Math.round(MnS+Math.random()*MxS);
}
}
A[i].style.top=Y[i];
A[i].innerHTML=M[i]+' '+E[i]+' ';
}
setTimeout('Cycle()',20)
}
Cycle();
}
// --
/script
演示地址:
注:必须要有body标签~
黑客帝国数字雨使用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//...)的数字雨代码,请不要使用,实现该功能不需要进入其他网址,带有网址的代码疑似为病毒,例如某经验上提供的数字雨代码。
求黑客帝国数字雨的制作方法
复制以下内容到记事本,另存为“黑客帝国数字雨.bat ”运行即可或再按Alt+Enter全屏!@echo %dbg% off
setlocal ENABLEDELAYEDEXPANSION
mode con cols=80 lines=30
clsset 退格=
set redtek=" "set end=0:start set /a end+=1 call :calc set /p=!setspaces! nulping /n 1 127.1nul set /p=%退格%nul set /p=%redtek:~1,79%nulecho. goto :start:calc if %end%==28 ( set /a end=0 cls set /a cols=!random:~0,2! echo ... 风力:!cols! ... if !cols! GTR 76 set cols=76 if !cols! LSS 2 set cols=2 set setspaces=!redtek:~1,%cols%!!random:~0,1! goto :eof )@echo off
mode con cols=80
color 02
for /f %%i in (test.txt) do set str_char=%%i
set str_blank=
setlocal enabledelayedexpansion:loop
:: 取随机位置上的字符
set /a num_char=1%random:~-1%%random:~0,1%-100
set char=!str_char:~-%num_char%,1!:: 设置随机长度的空格
set /a num_blank=1%random:~-1%%random:~0,1%-100
set blank=!str_blank:~0,%num_blank%!
echo.%blank%%char%
goto loop@echo off
mode con cols=80
set a=1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#%.*(){}[]_+-=\"'?.,/^^^^^
set b=
setlocal enabledelayedexpansion
:a
set /a num=%random%%%92
set 字符=!a:~-%num%,1!
set/a c=%random%%%80
set 空格=!b:~-%c%!
echo %空格%^%字符%
goto a
@echo off
mode con cols=80 LINES=30
set a=1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#%.*(){}[]_+-=\"'?.,/^^^^^
set b=
setlocal enabledelayedexpansion
:a
set /a num=%random%%%92
set 字符=!a:~-%num%,1!
set/a c=%random%%%80
set 空格=!b:~-%c%!
::echo. %空格%^%字符%set/a i+=1
rem 指针=i 尾指针=j
set/a j=i-30
set line%i%=%空格%^%字符%
FOR /L %%v IN (%i%,-1,%j%) DO echo.!line%%v!
::ping /n 127.1nul
goto a@echo off
::mode con cols=80
setlocal ENABLEDELAYEDEXPANSION
color 02goto BEGIN
goto :eof::function mt_rand "a" "b"
:mt_rand
::(
set a=%~1
set b=%~2
set /a _mt_rand=(!random!%%(%b%-%a%))+%a%
exit /b 0
::):BEGIN
::{--
SET iWidth=80
SET iDensity=6
SET sText="#$'()*+,-./0123456789:;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
SET sText=!sText:"=!
set /A iText=90-1for /l %%i in (1,1,%iWidth%) do (
set aDown%%i=0
):loop
for /l %%I in (1,1,%iWidth%) do (
set /a aDown%%I-=1
if !aDown%%I! LSS 0 (
call :mt_rand "0" "%iDensity%"set aArrow%%I=!_mt_rand!
call :mt_rand "10" "25"set aDown%%I=!_mt_rand!
)
if !aArrow%%I! EQU 1 (
call :mt_rand "0" "%iText%"(FOR %%M IN ("!_mt_rand!") DO SET aa=!sText:~%%~M,1!)
set /p=!aa!nul
) else (
set /p= nul
)
)
goto loop
::--}:exit
exit /b 0@echo off
setlocal ENABLEDELAYEDEXPANSION
color 02for /l %%i in (1,1,80) do (
set Down%%i=0
):loop
for /l %%j in (1,1,80) do (
set /a Down%%j-=1
if !down%%j! LSS 0 (
set /a Arrow%%j=!random!%%4
set /a Down%%j=!random!%%15+10
)
if "!Arrow%%j!" == "1" (
set /a chr=!random!%%2
set /p=!chr!nul
) else (
set /p= nul
)
)
goto loop
goto :eof@echo off
setlocal ENABLEDELAYEDEXPANSION
for /l %%i in (1,1,80) do (
set Down%%i=0
)for /l %%i in (0) do (
set line=
for /l %%j in (1,1,80) do (
set /a Down%%j-=1
call set x=!down%%j!
if !x! LSS 0 (
set /a Arrow%%j=!random!%%6
set /a Down%%j=!random!%%15+10
)
call set x=!Arrow%%j!
if "!x!" == "1" (
set line=!line!1
) else (set "line=!line! ")
)
call set /p=!line!nul
)[/code]