Board logo

标题: 运用退格鍵制作小动画示例: [打印本页]

作者: bat-zw     时间: 2008-4-23 15:04    标题: 运用退格鍵制作小动画示例:
@echo off&color 1f&mode con cols=45 lines=5&title 黑白小动画
set a=○&set b=●
echo.&echo this is made by cn-dos:zw19750516
echo.
:1
set /a n+=1
if %n% equ 3 set n=0&goto 2
for /l %%i in (1,1,20) do set /p=%b%<nul&ping /n 127.1>nul
for /l %%i in (1,1,40) do set /p=<nul
for /l %%i in (1,1,20) do set /p=%a%<nul&ping /n 127.1>nul
for /l %%i in (1,1,40) do set /p=<nul
goto 1
:2
set /a n+=1
if %n% equ 3 set n=0&goto 3
for /l %%i in (1,1,10) do set /p=%b%%a%<nul&ping /n 127.1>nul
for /l %%i in (1,1,40) do set /p=<nul
for /l %%i in (1,1,20) do set /p=%a%<nul&ping /n 127.1>nul
for /l %%i in (1,1,40) do set /p=<nul
goto 2
:3
set /a n+=1
if %n% equ 3 set n=0&goto 4
for /l %%i in (1,1,10) do set /p=%b%%a%<nul&ping /n 127.1>nul
for /l %%i in (1,1,40) do set /p=<nul
for /l %%i in (1,1,10) do set /p=%a%%b%<nul&ping /n 127.1>nul
for /l %%i in (1,1,40) do set /p=<nul
goto 3
:4
for /l %%i in (1,1,10) do set /p=%b%<nul&ping /n 127.1>nul
for /l %%i in (1,1,10) do set /p=%a%<nul&ping /n 127.1>nul
for /l %%i in (1,1,40) do set /p=<nul
for /l %%i in (1,1,10) do set /p=%a%<nul&ping /n 127.1>nul
for /l %%i in (1,1,10) do set /p=%b%<nul&ping /n 127.1>nul
for /l %%i in (1,1,40) do set /p=<nul
for /l %%i in (1,1,20) do set /p=%b%<nul&ping /n 127.1>nul
for /l %%i in (1,1,20) do set /p=<nul
for /l %%i in (1,1,10) do set /p=%a%<nul&ping /n 127.1>nul
for /l %%i in (1,1,40) do set /p=<nul
for /l %%i in (1,1,20) do set /p=%a%<nul&ping /n 127.1>nul
for /l %%i in (1,1,20) do set /p=<nul
for /l %%i in (1,1,10) do set /p=%b%<nul&ping /n 127.1>nul
for /l %%i in (1,1,40) do set /p=<nul
goto 1

作者: plp626     时间: 2008-4-23 15:22
这个就是原理
[quote]this is made by cn-dos:zw19750516

●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○●○●○●○●○●○●○●○●○●○●●○●○●○●○●○●○●○●○●○●○○●○●○●○●○●○●○●○●○●○●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○●○●○●○●○●○●○●○●○●○●●○●○●○●○●○●○●○●○●○●○○●○●○●○●○●○●○●○●○●○●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○●○●○

作者: plp626     时间: 2008-4-23 15:22
这个就是原理
this is made by cn-dos:zw19750516

●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○●○●○●○●○●○●○●○●○●○●●○●○●○●○●○●○●○●○●○●○○●○●○●○●○●○●○●○●○●○●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○●○●○●○●○●○●○●○●○●○●●○●○●○●○●○●○●○●○●○●○○●○●○●○●○●○●○●○●○●○●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○●○●○●○●○●○●○●○●○●○●●○●○●○●○●○●○●○●○●○●○○●○●○●○●○●○●○●○●○●○●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●●●●●●●●●●●●●●●●●●●●○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○○○○○○○○○○○○○○○○○○○○●○●○●○●○●○●○●○●○●○●○○●○●

作者: plp626     时间: 2008-4-23 15:23
系统有bug,我明明发了一个帖子呀

作者: bat-zw     时间: 2008-4-23 15:24
晕,是的,就是这个理,呵呵

作者: BWSkyer     时间: 2008-4-23 15:33
嘿嘿~~不錯, 为什么做动画大都会用到ping命令呢?

作者: bat-zw     时间: 2008-4-23 15:35
你把ping去掉看.................

作者: plp626     时间: 2008-4-23 15:38
我这里有个colstr函数,你能否做个彩色动画的?
http://www.cn-dos.net/forum/viewthread.php?tid=38940&fpage=1

作者: learner0     时间: 2008-4-23 15:44
哈哈,利用空格不错的方法...

作者: bat-zw     时间: 2008-4-23 15:58
Originally posted by learner0 at 2008-4-23 15:44:
哈哈,利用空格不错的方法...

这里没空格,是退格如:
echo  a,不会显示为
a,而会显示为
a

作者: bat-zw     时间: 2008-4-23 16:00
Originally posted by plp626 at 2008-4-23 15:38:
我这里有个colstr函数,你能否做个彩色动画的?
http://www.cn-dos.net/forum/viewthread.php?tid=38940&fpage=1

先研究下这个函数,再尽力做一个出来了,汗水。。。

作者: terse     时间: 2008-4-23 16:37
@echo off&mode con cols=45 lines=5&setlocal enabledelayedexpansion
for /l %%i in (1 1 10) do set "s=○!s!"
for /l %%i in (1 1 20) do set "s1=!s1!"
set n=123456789abcde
echo.
echo **********(DOS联盟)***********
echo.
:lp
for /l %%i in (0,1,9) do (
set/a n1=%random%%%14
set/p=!s:~%%i,1!<nul&set/p=●<nul
ping -n 1 127.1>nul
color 0!n:~%n1%,1!
set/p=!s1:~-2!<nul
if %%i equ 9 (
set/p=!s1!<nul
for /l %%i in (9,-1,1) do (
set/p=!s:~-%%i!<nul
set/p=●<nul
ping -n 1 127.1>nul
set/p=%s1%<nul
)
)
)
goto lp

作者: plp626     时间: 2008-4-23 16:44
这个是qzwqzw的,大家欣赏下,看谁能改成真正的彩色效果
http://www.cn-dos.net/forum/viewthread.php?tid=38940&fpage=1
:: qzwqzw@cn-dos.net 2008-01-13 22:30
:: Re youxi01@bbs.bathome.cn 光棍节作品
:: youxi之作似乎不止游戏之作
:: 索性游戏以作以与youxi共勉
@echo off
setlocal enabledelayedexpansion
title 不放弃...
color 0d
echo.
echo. To you
echo.
set "str1=或许是上天的安排"
set "str2=给了你一个转身的机会"
set "str3=而就在那转身的瞬间你爱上了她..."
set "str4=而就在那转身的瞬间她也爱上了你..."
set "str5=也许是上天的注定"
set "str6=也许是痛苦的开始"
set "str7=但爱了她就不要后悔..."
set "str8=END not END"
for /l %%i in (1 1 8) do call :ShowStr "!str%%i!"
pause>nul

:TimeDelay 次数
for /l %%i in (1 1 %1) do ver>nul
color 0%random:~-1%
goto :eof

:strlen OBJ
set "var=%~1"
set /a strbytes=0,strlen=0
for /l %%i in (0 1 200) do (
set "var_=!var:~%%i,1!"
if "!var_!"=="" goto :eof
if !var_! gtr Z (set /a strbytes+=3) else set /a strbytes+=2
set /a strlen+=1
)
goto :eof

:ShowStr str
set "str=%~1"
call :strlen "%~1"
set /a strbegin=(78-strbytes)/2
set /p= <nul
for /l %%i in (1 1 78) do set /p=-<nul& call :TimeDelay 50
for /l %%i in (1 1 78) do set /p=<nul
for /l %%i in (1 1 %strbegin%) do set /p=-<nul
for /l %%i in (0 1 %strlen%) do set /p= !str:~%%i,1!<nul& call :TimeDelay 500

for /l %%i in (1 1 78) do set /p=<nul
ping 127.255.255.255 -n 1 -w 1000 >nul


Last edited by plp626 on 2008-4-23 at 05:03 PM ]