First version of the code,
Code is sure there are bugs, first sent to you to test.
@echo off&setlocal enabledelayedexpansion mode con:cols=87 lines=15 title code by FOXJL 2007-12-1 www.jb51.net Color 1a Set long=43,minus=43 set,=^ us, is a group of dedicated batch enthusiasts ^ in the colorful windows, open cmd This deep window ^ once burn, ever sleepless ^ we are so crazy because we know: ^ Ruler has a short , inch, cmd Extraordinary ^ we strive for excellence, striving to perfect ^ all efforts, only in order to use the most concise language, to write the most practical code ^ cloud-Habitat Community www.jb51.net^ Master Gathering, Information complete, is the new beginning of the Blessed Land, veteran promotion of paradise ^ not to seek the largest, but the best Show the infinite charm of batch processing, all wonderful, do in ~ ~ Yun-Habitat Community ~ ~ Demo finished.
Good bye!!
: Start Echo. For%%i in (8 4-1 4-1 4-1 10-1 8-1 16-7, 8 4-1 4-1 4-1 10-1 8-1 8-5 4-1 4-1, 8-4 2-1 4-1, 10-4 2-1 12 -1 2-7, 8 4-1 4-1 4-1 2-1 6-1 4-1 2-2 10-1 2-1 4-1 4-1, 8 4-1 4-2 2-2 6-1-6-1 2-1 2-1 4-5 4-1 4-1 , 8 4-2 2-1 4-1 8-1 4-1 4-1 4-1 6-1 2-7, 8-3 4-1 4-1 6-1 2-1 2-1 4-1 12-1 8-1, 8 4-1-4-1 4-1 12-1 6-1 12-1 4-5, 8 4-1 4-1 2-2 2-1 8-1 6-1 12-2 6-1 8 4-1 4-2 2-1 2-1 6-1 2-2 2-1 8-2 10-1, 8-3 4-1 4-3 2-2 8-5 8-8) do ((if "%%i" = "," (Echo.&ping-n 1 127.1>nul)) && (SET a=%%i) & (set b=!a:-=!) If%%i LSS 0 (for/l%%j in (1,1,!b!) do (Set/p=▓<nul) does) Else (for/l%%k in (1,1,%%i) do (set/p= <nul)) call:d E Lay echo\&echo\ for/l%%z in (1,1,255) does (if not!long! equ 0 set/a long-=1 for/l%%j on (1,1,87) do (set/p= <nul) for/l%%k in (1,1,!long!) do (set/p= <nul) set/a longn+=1 set/a longs=longn-43 set/a remnant=255-43 if!lo Ngn! LSS (Set/p=!,:~0,%%z!<nul) Else (if!longn! geq!remnant! (set/a minus-=1 set/a minuss=minus*2 for/l%%l in (1,1,!minus!) does (set/p= <nul) for/l%%j in (1,1,!minuss) !) Do (Set/p=<nul) call Set/p=%%,:~!longs!,43%%<nul) Else [call Set/p=%%,:~!longs!,43%%<nul)] Call:d E
Lay 40 Modify this number to adjust the speed of the word. Call:d elay 700&exit:d elay for/l%%i to (1,1,%1) do (Error>nul 2>nul) goto:eof
The animation works very well, like the flying subtitles on TV. Very ornamental.
It's really open. Set, =^ and then add a ^ symbol at the end of each sentence, you can assign them all to variables,? What is this principle? And there's no ^ symbol at the end of the last sentence?
However, the subtitle section, the code seems to be more concise.
Take a look at the second version of the Code
: @echo off&setlocal enabledelayedexpansion title code by flood 棏 Panic °2007-12-1 www.jb51.net mode con:cols=87 lines=15 for /L%%l in (1 1) do set "ko=!ko!" color 1a&echo\&set,=!ko!^ us, is a group of persistent batch enthusiasts ^ in the colorful windows, open cmd This deep window ^ once Midnight Oil tonight Night fighting, ever sleepless in the night ^ we are so crazy because we know: ^ ruler has short, inch, cmd Extraordinary ^ we strive for excellence, striving to perfect ^ all efforts, only in order to use the most concise language, to write the most practical code ^ cloud Habitat community www.jb51.net^ expert gathering , information complete, is a novice to the Blessed Land, veteran promotion of the paradise ^ do not seek the largest, but the best, show batch processing of the infinite charm, all wonderful, do in ~ ~ Cloud Habitat Community ~ ~ Demo finished.
Good bye!! For%%i in (8 4-1 4-1 4-1 10-1 8-1 16-7, 8 4-1 4-1 4-1 10-1 8-1 8-5 4-1 4-1, 8-4 2-1 4-1, 10-4 2-1 12 -1 2-7, 8 4-1 4-1 4-1 2-1 6-1 4-1 2-2 10-1 2-1 4-1 4-1, 8 4-1 4-2 2-2 6-1-6-1 2-1 2-1 4-5 4-1 4-1 , 8 4-2 2-1 4-1 8-1 4-1 4-1 4-1 6-1 2-7, 8-3 4-1 4-1 6-1 2-1 2-1 4-1 12-1 8-1, 8 4-1-4-1 4-1 12-1 6-1 12-1 4-5, 8 4-1 4-1 2-2 2-1 8-1 6-1 12-2 6-1 8 4-1 4-2 2-1 2-1 6-1 2-2 2-1 8-2 10-1, 8-3 4-1 4-3 2-2 8-5 8-8) do ((if "%%i" = "," (Echo.&ping-n 1 127.1>nul)) && (set a=%%i) & (set b=!a:-=!) If%%i LSS 0 (for/l%%j in (1,1,!b!) doing (Set/p=▓<nul)) Else (for/l%%k in (1,1,%%i) do (set/p= <nul)) Call:d ELA
Y 700&echo\&echo\ for/l%%l in (1 1 255) does (Set/p=!,:~0,43!<nul call:d Elay 40 Modify this number to adjust the speed of the word.
FOR/L%%j in (1,1,87) do (Set/p=<nul) set, =!,:~1! Call:d elay 700&exit:d elay for/l%%i to (1,1,%1) do (Error>nul 2>nul) goto:eof