Board logo

标题: [原创]潜水数天,完成了自己满意的数码雨 [打印本页]

作者: 523066680     时间: 2008-8-9 20:22    标题: [原创]潜水数天,完成了自己满意的数码雨

该批处理将同时在bathome发布  http://www.bathome.cn/viewthread.php?tid=1393&extra=page%3D1
留意该批处理的第二行特效。
@echo off
title made by 523066680 2008-08-08
::这一版本由www.cn-dos.net & www.bathome.cn 成员523066680编辑
mode con cols=85 lines=21
color 0a
setlocal enabledelayedexpansion
set a=0
for %%m in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
if !a! leq 9 (set n0!a!=%%m) else (set n!b!=%%m)
set /a a+=1
set /a b=!a!-10
)
for %%M in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
set n!b!=%%M
set /a b+=1
)
for /l %%a in (1,1,20) do (
set h%%a=
for /l %%b in (1,1,20) do (
call,set code=%%n!random:~1,2!%%
if not defined code (set "code= ")
set h%%a=!code!   !h%%a!
)
)
set num=0
:a
set /a num+=1
if %num% equ 260 set num=0
ping -n>nul
cls
echo,   %h1%
echo,   %hn%
for /l %%a in (3,1,20) do echo,   !h%%a!
for /l %%a in (19,-1,1) do (
set /a n=1+%%a
set h!n!=!h%%a!
)
set hn=%h2%
set h1=
for /l %%b in (1,1,20) do (
call,set code=%%n!random:~1,2!%%
if not defined code (set "code= ")
set h1=!code!   !h1!
)

if %num% gtr 80 (if %num% lss 100 set hn=                      %h19:   = %)
if %num% gtr 140 (if %num% lss 160 set hn=                      %h19:   = %)
if %num% gtr 200 (if %num% lss 220 set hn=                      %h19:   = %)
if %num% gtr 100 (if %num% leq 130 (
set hn=%hn:~0,20%    B a t H o m e    I f _ E x i s t    %hn:~-20%
))
if %num% gtr 160 (if %num% leq 190 (
set hn=%hn:~0,19%      C n - D o s     I f _ E x i s t     %hn:~-19%
))
if %num% gtr 220 (if %num% leq 240 (
set hn=%hn:~0,19%          W W W . 3 X 4 Y . C O M        %hn:~0,19%
))
for %%a in (100 160 220) do (
if %num% equ %%a (set hn=                     =====================+================== ))
goto :a
pause
pause
[ Last edited by 523066680 on 2008-8-10 at 07:59 AM ]
作者: zh159     时间: 2008-8-9 22:59
效果不错,个人感觉同一竖间隔太密了
作者: 523066680     时间: 2008-8-10 07:39
加上第二行的特效之后……修改超麻烦的。密就让它密吧

1楼的代码再次更新 ,主要是第二行的特效……

这里有一个好像是鬼佬做的数码雨屏保,可以看一下……( 闷,为什么是日语)

http://523066680.ys168.com/

在else目录里面。

[ Last edited by 523066680 on 2008-8-10 at 08:10 AM ]
作者: 523066680     时间: 2008-8-10 07:57


  Quote:
Originally posted by zh159 at 2008-8-9 10:59 PM:
效果不错,个人感觉同一竖间隔太密了

刚试了一下……行不设空格   列中设空格的原因,是为了突出数码一条条的效果。
请看测试代码:
@echo off
mode con cols=100 lines=30
color 0a
setlocal enabledelayedexpansion
set a=0
for %%m in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
if !a! leq 9 (set n0!a!=%%m) else (set n!b!=%%m)
set /a a+=1
set /a b=!a!-10
)
for %%M in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
set n!b!=%%M
set /a b+=1
)
for /l %%a in (1,1,20) do (
set h%%a=
for /l %%b in (1,1,15) do (
call,set code=%%n!random:~1,2!%%
if not defined code (set "code= ")
set h%%a=!code!     !h%%a!
)
)
:a
ping -n>nul
cls
for /l %%a in (1,1,15) do echo,   !h%%a! &echo,
for /l %%a in (14,-1,1) do (
set /a n=1+%%a
set h!n!=!h%%a!
)
set hn=%h2%
set h1=
for /l %%b in (1,1,15) do (
call,set code=%%n!random:~1,2!%%
if not defined code (set "code= ")
set h1=!code!     !h1!
)
goto :a
pause

[ Last edited by 523066680 on 2008-8-10 at 08:07 AM ]
作者: suntb     时间: 2008-8-10 09:59
感觉不错 学习了