中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] [3] »
作者:
标题: 再次挑战数码雨(已更新) 上一主题 | 下一主题
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 16 楼』:  

对其用Tab好点
算空格太累..

2008-5-25 21:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 17 楼』:  

每行固定输出80字符 就对齐了吧



简单!简单!再简单!
2008-5-25 21:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
WANKOILZ
初级用户





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

我也来个简单的:
@echo off&color 02
:loop
for /l %%i in (1,1,26) do (
call set/a var=%%random%%%%%%2&call set/p=  %%var%%<nul
)
echo.
if %random% lss 1000 echo                 数                   码                     雨
for /l %%i in (1,1,200) do ver>nul
goto loop
[ Last edited by WANKOILZ on 2008-5-27 at 03:35 PM ]

2008-5-25 23:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
konkoo
初级用户




积分 50
发帖 27
注册 2008-11-8
来自 南京
状态 离线
『第 19 楼』:  

WANKOILZ
高效简洁,棒极了!

2008-11-16 06:37
查看资料  发送邮件  发短消息 网志  OICQ (523768799)  编辑帖子  回复  引用回复
weasel
初级用户




积分 118
发帖 66
注册 2006-8-18
状态 离线
『第 20 楼』:  

学习中,楼主厉害

2008-11-16 16:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
nanhezzb
初级用户





积分 37
发帖 32
注册 2008-8-21
状态 离线
『第 21 楼』:  

怎么实现向下滚动的呢?

2009-2-9 10:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 22 楼』:  往下掉的(2进制)

@echo off&color 02
set n=1
:loop
set var=
for /l %%i in (1,1,26) do (call set/a r=%%random%%%%%%2&call set "var=%%var%%  %%r%%")
set "len%n%=%var%"
set/a n=(n-1+24)%%24,m=n
for /l %%b in (1,1,24) do (call :sub)
cls
echo.%var%
for /l %%i in (1,1,300) do ver>nul
goto loop
:sub
set/a m=(m+1)%%24
call set var=%%var%%  %%len%m%%%

[ Last edited by netbenton on 2009-2-9 at 18:43 ]



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-2-9 15:16
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 23 楼』:  精简一下

部分代码借18楼的办法,改动一下成往下掉的。
真正的“雨”下来咯!^_^

@echo off&color 02
set len=               数   码   雨   来   咯  !
:loop
set var=
for /l %%i in (1,1,26) do (call set/a r=%%random%%%%%%2&call set "var=%%var%%  %%r%%")
set len=%var%  %len:~0,1838%
cls
echo.%len%
for /l %%i in (1,1,300) do ver>nul
goto loop



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-2-9 21:30
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 24 楼』:  下16进制的“雨”

@echo off&color 02
set len=              数   码   雨   来   咯 !  16H By Benton
set str=fedcba9876543210
:loop
set var=
for /l %%i in (1,1,26) do (call set/a r=%%random%%%%%%16&call call set "var=%%var%%  %%%%str:~%%r%%,1%%%%")
set len=%var%  %len:~0,1838%
cls
echo.%len%
for /l %%i in (1,1,300) do ver>nul
goto loop



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-2-9 21:38
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
kennyfan
中级用户




积分 259
发帖 112
注册 2006-9-18
状态 离线
『第 25 楼』:  

哈哈,还真挺好玩的呢!

2009-2-16 00:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
learner0
初级用户





积分 108
发帖 49
注册 2008-2-26
状态 离线
『第 26 楼』:  

不错的bat

2009-2-16 14:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 27 楼』:  

@echo off&color 02
if defined len goto :sub
SETLOCAL ENABLEDELAYEDEXPANSION
set len=              数   码   雨   来   咯 !  By Benton
start /b %~n0.bat
title 数码雨   By Benton   按任意键退出
set str=        0 1 2 3 4 5 6 7 89ABCDEFG
:loop
set var=
for /l %%i in (1,1,26) do (set/a r=!random!%%32&call set "var=!var!  %%str:~!r!,1%%")
set len=!var!  !len:~0,1838!
cls
echo !len!
for /l %%i in (1,1,300) do ver>nul
goto loop
:sub
pause>nul
TASKKILL /FI "WINDOWTITLE ne 数码雨   By Benton" >nul



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-17 02:12
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 28 楼』:  

::黑客数码雨双向移动,超逼真
::还支持按键退出
@echo off&color 0a
if defined lins goto :sub
set "lins=  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22"
setlocal enabledelayedexpansion
start /b %~n0.bat
title 数码雨  By Benton 按任意键退出
set str=fedcbag h i j k l m n o p q r s t u v w x y z9876543210ABCDEFG H I J K L M N O P Q R S T U V W X Y Z
for %%i in (%lins%) do (
        for /l %%j in (1,1,8) do (
                set "m%%i=!m%%i!          "
                set "n%%i=!n%%i!          "
        )
)
set n=0
set m=1
::预处理结束


:::::::::::::::循环体:::::::::::::::
:loop
set var=  %%str:~!random:~0,2!,1%%
for /l %%i in (1,1,2) do (
call set "var=!var!  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%"
)
set/a n=^(n+22^)%%23,m=^(m+22^)%%23
set m%m%=!var!
set n%n%=!var!
set lins=!lins:~-3!!lins:~0,-3!

set tem=!n0!
for %%a in (a b) do (
for /l %%i in (22,-1,0) do (
set tem1=!n%%i!
set n%%i=!tem!
set tem=!tem1!))

set ll=0
for %%i in (%lins%) do (
set "l!ll!=!m%%i:~0,3!!n%%i:~0,3!!m%%i:~3,3!!n%%i:~3,3!!m%%i:~6,3!!n%%i:~6,3!!m%%i:~9,3!!n%%i:~9,3!!m%%i:~12,3!!n%%i:~12,3!!m%%i:~15,3!!n%%i:~15,3!!m%%i:~18,3!!n%%i:~18,3!!m%%i:~21,3!!n%%i:~21,3!!m%%i:~24,3!!n%%i:~24,3!!m%%i:~27,3!!n%%i:~27,3!!m%%i:~30,3!!n%%i:~30,3!!m%%i:~33,3!!n%%i:~33,3!!m%%i:~36,3!!n%%i:~36,3!  "
set/a ll+=1
)
set len=!l0!!l1!!l2!!l3!!l4!!l5!!l6!!l7!!l8!!l9!!l10!!l11!!l12!!l13!!l14!!l15!!l16!!l17!!l18!!l19!!l20!!l21!!l22!!l23!
cls
echo !len:~0,1838!
for /l %%i in (1,1,1000) do echo.>nul
goto loop
::::::::::::::::::::::::::::::::::::

::外部控制子过程
:sub
pause>nul
TASKKILL /FI "WINDOWTITLE ne 数码雨"




精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-17 11:47
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 29 楼』:  

::双向移动+左右文字滚动
@echo off&color 0a
if defined lins goto :sub
set "lins=  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23"
setlocal enabledelayedexpansion
start /b %~n0.bat
title 数码雨  By Benton 按任意键退出
set str=fedcbag h i j k l m n o p q r s t u v w x y z9876543210ABCDEFG H I J K L M N O P Q R S T U V W X Y Z
for %%i in (%lins%) do (
        for /l %%j in (1,1,8) do (
                set "m%%i=!m%%i!          "
                set "n%%i=!n%%i!          "
        )
)
set n=2
set m=0
set k=0
set "in0=。。。。——《《欢迎来到黑客帝国》》——。。。。。"
set "im0=看到美女了吗?看到了,说明你已是黑客帝国的了。。。"

::预处理结束


:::::::::::::::循环体:::::::::::::::
:loop
set var=  %%str:~!random:~0,2!,1%%
for /l %%i in (1,1,2) do (
call set "var=!var!  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%  %%str:~!random:~0,2!,1%%"
)
set/a n=^(n+23^)%%24,m=^(m+23^)%%24
set m%m%=!var!
set n%n%=!var!
set lins=!lins:~-3!!lins:~0,-3!

set tem=!n0!
for %%a in (a b) do (
for /l %%i in (23,-1,0) do (
set tem1=!n%%i!
set n%%i=!tem!
set tem=!tem1!))

set ll=0
for %%i in (%lins%) do (
set "l!ll!=!m%%i:~0,3!!n%%i:~0,3!!m%%i:~3,3!!n%%i:~3,3!!m%%i:~6,3!!n%%i:~6,3!!m%%i:~9,3!!n%%i:~9,3!!m%%i:~12,3!!n%%i:~12,3!!m%%i:~15,3!!n%%i:~15,3!!m%%i:~18,3!!n%%i:~18,3!!m%%i:~21,3!!n%%i:~21,3!!m%%i:~24,3!!n%%i:~24,3!!m%%i:~27,3!!n%%i:~27,3!!m%%i:~30,3!!n%%i:~30,3!!m%%i:~33,3!!n%%i:~33,3!!m%%i:~36,3!!n%%i:~36,3!  "
set/a ll+=1
)

for %%i in (0 4 8 12 16 20) do (if %m%==%%i set/a k=^(k+25^)%%26)

        set in=!in0:~%k%!!in0:~0,%k%!
        set im=!im0:~-%k%!!im0:~0,-%k%!
        set l10=!l10:~0,25!!in:~0,15!!l10:~55!
        set l12=!l12:~0,25!!im:~0,15!!l12:~55!

set len=!l0!!l1!!l2!!l3!!l4!!l5!!l6!!l7!!l8!!l9!!l10!!l11!!l12!!l13!!l14!!l15!!l16!!l17!!l18!!l19!!l20!!l21!!l22!!l23!
cls
echo !len:~0,1888!
for /l %%i in (1,1,200) do echo.>nul
goto loop
::::::::::::::::::::::::::::::::::::

::外部控制子过程
:sub
pause>nul
TASKKILL /FI "IMAGENAME EQ cmd.exe" /FI "WINDOWTITLE EQ 数码雨*">nul
[ Last edited by netbenton on 2009-4-17 at 22:32 ]



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-17 14:17
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
wseemed
初级用户





积分 29
发帖 24
注册 2009-4-9
来自 河南
状态 离线
『第 30 楼』:  

新人路过,学习了

2009-4-18 00:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: