[出题]批处理视觉类动画
额...不知道这个题目是不是很老了...我很久以前看到的...用纯P达到下面的效果
====================
[attach]2746[/attach]
(本来有彩的...因为有彩录起来不方便...就黑白的吧...)
====================
目的:掌握变量截取...(我使用变量截取的,有其他方法也可以...)
要求:显示上图效果
====================
新手试试...老鸟略过......
[[i] 本帖最后由 poxi 于 2010-7-21 10:08 编辑 [/i]] [attach]2752[/attach][code]@echo off
title BatHome
mode con cols=25 lines=4
SetLocal EnableDelayedExpansion
set "String_Top= > > > > > > > > "
set "String_Center=bbs.bathome.net"
set "String_Bottom= < < < < < < < < "
set "Space= "
set "Backspace="
set "End=9"
:: ---------------------- 中间动画 ----------------------
echo,
set /p = <nul
for /l %%p in (0 1 14) do (
set /p =!Space:~%%p!<nul
set One=!String_Center:~%%p,1!
for /l %%b in (1 1 !End!) do (
set /p = !Backspace!!One!<nul
if !Backspace!== set Backspace=
ping -n 1 127.1 >nul
)
set /a "Var = (Var + 1) %% 2"
if !Var!==1 (set Backspace=) else set /a End -= 1
)
:: ---------------------- 上下动画 ----------------------
for /l %%a in (1 1 1000000) do (
set String_Top=!String_Top:~-1!!String_Top:~0,-1!
set String_Bottom=!String_Bottom:~1!!String_Bottom:~0,1!
echo !String_Top!
echo !String_Center!
echo !String_Bottom!
ping -n 1 127.1 >nul
cls
)[/code]
[[i] 本帖最后由 z7r3kslwtj5w_px 于 2010-7-21 19:34 编辑 [/i]] 路过,代码就不发了.以下截图都为动态动画,无需人工控制干预.
[[i] 本帖最后由 sl543001 于 2010-7-21 23:39 编辑 [/i]]
回复 1楼 的帖子
也来一个,不知道怎么弄“移动鼠标显示”啊:[code]@echo off&SetLocal EnableDelayedExpansionmode con cols=25 lines=4&title BatHome
set "str1=> > > > > > > >"
set "str2=< < < < < < < <"
set "sleep=(for /l %%i in (1,1,100) do echo.>nul)&cls"
set "log=echo bbs.bathome.net"
:loop
echo !str1!&%log%&echo !str2!&%sleep%
echo !str1!&%log%&echo !str2!&%sleep%
echo !str1!&%log%&echo !str2!&%sleep%
goto :loop[/code]
[[i] 本帖最后由 wankoilz 于 2010-7-21 23:41 编辑 [/i]] 2楼 中间动画 复杂化了[code]@echo off
SetLocal EnableDelayedExpansion
for /l %%i in (15 -1 1) do (
set "aaa= !aaa!"
)
set /p = <nul
set "str=bbs.bathome.net"
for /l %%i in (15 -1 1) do (
set /p=!aaa!<nul
set num=%%i
call set "aaa=%%aaa:~-!num!%%"
set /a n+=1
set /a m=n-1
call set "one=%%str:~!m!,1%%"
for /l %%j in (1 1 !num!) do (
set /p "= !one!"<nul
ping -n 1 127.1>nul
)
)
pause>nul[/code] 改编人家的,有点意思,不过CPU……[code]@echo off&setlocal enabledelayedexpansion
::可以通过修改两个FOR以及str的空格数量来控制图标往前或者往后移动。
::退格键的意义就是cls的意义,只不过它不是全屏清理,而是往前清理。
echo,
echo.
set "str= 《《》》"
for /l %%a in (1,1,50) do set "t=!t! "
echo.&set /p= <nul
echo.弹簧、钟摆、火车
:lp
for /l %%a in (1,1,20) do (
set /a a=6*%%a
for %%b in (!a!) do set "t1=!t:~%%b!"
set /p=!str:~%%a!<nul
for /l %%b in (1,1,500) do echo>nul
set /p=!t1!<nul
)
goto lp
[/code] 很好很强大 嗯 不是 很会 !潜水继续看!! [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=56701&ptid=8654]2#[/url] [i]z7r3kslwtj5w_px[/i] [/b]
看代码眼睛都要看花了还没想明白是怎么实现的。。。:dizzy: [b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=56701&ptid=8654]2#[/url] [i]z7r3kslwtj5w_px[/i] [/b]
时隔几日,终究看明白了,感谢分享 照抄CNDOS飞入+变色字
不是我写的,我只是搬运工(<v<)[code]@echo off&setlocal enabledelayedexpansion&cls&color 0f&title Welcome to BatHome!
mode con: cols=30 lines=3
set "a= BatHome"
set b=
set "c=12345689abcde"
:c
for /l %%a in (6,1,28) do (
set /a d=%random%%%13+1
call :pp %%a
)
goto c
:pp
set/p=!a:~-%1!<nul
set/p=!b:~0,%1!<nul
color 0!c:~%d%,1!
goto :eof
[/code]
页:
[1]