中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 黑客帝国数码雨 上一主题 | 下一主题
WANKOILZ
初级用户





积分 198
发帖 89
注册 2007-9-6
来自 重庆
状态 离线
『楼 主』:  黑客帝国数码雨

前几天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 ]

   此帖被 +4 点积分     点击查看详情   
评分人:【 slore 分数: +4  时间:2008-5-28 14:08


2008-5-28 14:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

有那个感觉……



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-5-28 14:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 3 楼』:  

感觉不用CMD的多进程 很难实现真正意义上的数码雨~



心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-5-28 15:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  

It's cool!



2008-5-28 15:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hansom
初级用户




积分 161
发帖 87
注册 2008-5-25
状态 离线
『第 5 楼』:  

占个位子.

2008-5-28 17:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
terrytong
中级用户





积分 240
发帖 115
注册 2008-3-10
状态 离线
『第 6 楼』:  

如果有字母就好了。

2008-5-28 19:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
WANKOILZ
初级用户





积分 198
发帖 89
注册 2007-9-6
来自 重庆
状态 离线
『第 7 楼』:  

改进后已经能够显示所有字符!

2008-5-30 11:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
cad55
高级用户





积分 620
发帖 329
注册 2007-12-5
状态 离线
『第 8 楼』:  

本论坛上有比它更好的雨........

2008-5-30 11:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 9 楼』:  

不是很流畅
但已经很不错了

2008-5-30 11:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jfsy
初级用户





积分 26
发帖 14
注册 2007-1-7
状态 离线
『第 10 楼』:  

不太懂,收下学习学习

2008-5-30 20:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
laver8030
新手上路





积分 5
发帖 5
注册 2008-10-4
状态 离线
『第 11 楼』:  

速度快了点 而且没黑客中那种晶莹剔透的感觉

2009-7-28 02:40
查看资料  发送邮件  发短消息 网志  OICQ (474159634)  编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 12 楼』:  

bathome也讨论了
netbeton那个我很喜欢
http://bbs.bathome.cn/viewthread.php?tid=1393



综合型编程论坛

我的作品索引
  
2009-7-28 11:04
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: