中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-16 13:56
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 黑客帝国数码雨 查看 1,199 回复 11
楼 主 黑客帝国数码雨 发表于 2008-05-28 14:07 ·  中国 重庆 渝中区 联通
初级用户
★★
积分 198
发帖 89
注册 2007-09-06 23:22
UID 96746
性别 男
来自 重庆
状态 离线
前几天zw兄开发了不少数码雨,我也来个模拟黑客帝国的数码雨:
::code by WANKOILZ 2008/5/28
@echo off&setlocal enabledelayedexpansion&color 02&mode con lines=30&title 黑客帝国数码雨
setlocal&set flag=0
:loop
if %flag% lss 30 (set/a flag+=1) else (call :chang)
for /l %%i in (1,1,26) do (
if defined a%%i (set/a a%%i=!random!%%2&set tmp=!a%%i!
) else (if !random! lss 1000 (set/a a%%i=!random!%%2&set tmp=!a%%i!
) else (set tmp= ))
call set line%flag%=%%line!flag!%% !tmp!
)
cls&for /l %%i in (%flag%,-1,1) do echo.!line%%i!
for /l %%i in (1,1,100) do ver>nul
::ping /n 1 127.1>nul
if !random! lss 500 (endlocal&setlocal&set flag=0)
goto :loop

:chang
for /l %%i in (1,1,29) do (
set/a tmp=%%i+1
call set line%%i=%%line!tmp!%%
)
set line%flag%=

这个可以显示部分字符:
::code by WANKOILZ 2008/5/28
@echo off&setlocal enabledelayedexpansion&color 02&mode con lines=30&title 黑客帝国数码雨
setlocal&set flag=0&set code=1234567890abcdefghijklmnopqrstuvwxyz#*$~\/:
:loop
if %flag% lss 30 (set/a flag+=1) else (call :chang)
for /l %%i in (1,1,26) do (
if defined a%%i (call :set %%i&set tmp=!a%%i!
) else (if !random! lss 1000 (call :set %%i&set tmp=!a%%i!
) else (set tmp= ))
call set line%flag%=%%line!flag!%% !tmp!
)
cls&for /l %%i in (%flag%,-1,1) do echo.!line%%i!
ping /n 1 127.1>nul
if !random! lss 500 (endlocal&setlocal&set flag=0&set code=1234567890abcdefghijklmnopqrstuvwxyz#*$~\/:)
goto :loop

:chang
for /l %%i in (1,1,29) do (
set/a tmp=%%i+1
call set line%%i=%%line!tmp!%%
)
set line%flag%=
goto :eof

:set
set/a rnd=%random%%%43
set a%1=!code:~%rnd%,1!


5.30日改进,可以显示所有字符,因为用了太多的call导致速度有所降低:
::code by WANKOILZ 2008/5/28
@echo off&setlocal enabledelayedexpansion&color 02&mode con lines=30&title 黑客帝国数码雨
setlocal&set flag=0&set code=1234567890abcdefghijklmnopqrstuvwxyz#*$~\/:^&%%^^^<^>+=
:loop
if %flag% lss 30 (set/a flag+=1) else (call :chang)
for /l %%i in (1,1,26) do (
if defined a%%i (call :set1 %%i&set tmp=!a%%i!
) else (if !random! lss 1000 (call :set1 %%i&set tmp=!a%%i!
) else (set tmp= ))
call :set2
)
cls&for /l %%i in (%flag%,-1,1) do echo.!line%%i!
for /l %%i in (1,1,100) do ver>nul
::ping /n 1 127.1>nul
if !random! lss 500 (endlocal&setlocal&set flag=0&set code=1234567890abcdefghijklmnopqrstuvwxyz#*$~\/:^&%%^^^<^>+=)
goto :loop

:chang
for /l %%i in (1,1,29) do (
set/a tmp=%%i+1
call :set3 %%i
)
set line%flag%=
goto :eof

:set1
set/a rnd=%random%%%50
set a%1=!code:~%rnd%,1!
goto :eof

:set2
set line%flag%=!line%flag%! !tmp!
goto :eof

:set3
set line%1=!line%tmp%!


[ Last edited by WANKOILZ on 2008-6-3 at 02:10 PM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
slore +4 2008-05-28 14:08
2 发表于 2008-05-28 14:08 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
UID 79003
性别 男
状态 离线
有那个感觉……
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
3 发表于 2008-05-28 15:43 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
UID 115804
性别 男
状态 离线
感觉不用CMD的多进程 很难实现真正意义上的数码雨~
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
4 发表于 2008-05-28 15:58 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
It's cool!
5 发表于 2008-05-28 17:43 ·  中国 江苏 苏州 电信
初级用户
★★
积分 161
发帖 87
注册 2008-05-25 17:25
UID 119673
性别 男
状态 离线
占个位子.
6 发表于 2008-05-28 19:01 ·  中国 上海 上海地面通信息网络有限公司
中级用户
★★
积分 240
发帖 115
注册 2008-03-10 19:31
UID 112561
性别 男
状态 离线
如果有字母就好了。
7 发表于 2008-05-30 11:32 ·  中国 重庆 合川区 电信
初级用户
★★
积分 198
发帖 89
注册 2007-09-06 23:22
UID 96746
性别 男
来自 重庆
状态 离线
改进后已经能够显示所有字符!
8 发表于 2008-05-30 11:42 ·  中国 江苏 扬州 电信
高级用户
★★★
积分 620
发帖 329
注册 2007-12-05 15:34
UID 104754
性别 男
状态 离线
本论坛上有比它更好的雨........
9 发表于 2008-05-30 11:47 ·  中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
UID 119451
性别 男
状态 离线
不是很流畅
但已经很不错了
10 发表于 2008-05-30 20:07 ·  中国 重庆 万州区 电信
初级用户
积分 26
发帖 14
注册 2007-01-07 22:46
UID 75748
性别 男
状态 离线
不太懂,收下学习学习
11 发表于 2009-07-28 02:40 ·  中国 广东 广州 电信
新手上路
积分 5
发帖 5
注册 2008-10-04 18:29
UID 127427
性别 男
状态 离线
速度快了点 而且没黑客中那种晶莹剔透的感觉
12 发表于 2009-07-28 11:04 ·  中国 广东 广州 电信
银牌会员
★★★★
SuperCleaner
积分 2,362
发帖 1,133
注册 2008-02-02 21:36
UID 110072
性别 男
状态 离线
论坛跳转: