Board logo

标题: [出题]批处理视觉类动画 [打印本页]

作者: poxi    时间: 2010-7-21 10:06     标题: [出题]批处理视觉类动画

额...不知道这个题目是不是很老了...我很久以前看到的...

用纯P达到下面的效果
====================
[attach]2746[/attach]
(本来有彩的...因为有彩录起来不方便...就黑白的吧...)
====================
目的:掌握变量截取...(我使用变量截取的,有其他方法也可以...)

要求:显示上图效果
====================
新手试试...老鸟略过......
作者: z7r3kslwtj5w_px    时间: 2010-7-21 12:51

[attach]2752[/attach]
  1. @echo off
  2. title BatHome
  3. mode con cols=25 lines=4
  4. SetLocal EnableDelayedExpansion
  5. set "String_Top= >  >  >  >  >  >  >  > "
  6. set "String_Center=bbs.bathome.net"
  7. set "String_Bottom= <  <  <  <  <  <  <  < "
  8. set "Space=                   "
  9. set "Backspace="
  10. set "End=9"
  11. :: ---------------------- 中间动画 ----------------------
  12. echo,
  13. set /p =     <nul
  14. for /l %%p in (0 1 14) do (
  15.     set /p =!Space:~%%p!<nul
  16.     set One=!String_Center:~%%p,1!
  17.     for /l %%b in (1 1 !End!) do (
  18.         set /p = !Backspace!!One!<nul
  19.         if !Backspace!== set Backspace=
  20.         ping -n 1 127.1 >nul
  21.     )
  22.     set /a "Var = (Var + 1) %% 2"
  23.     if !Var!==1 (set Backspace=) else set /a End -= 1
  24. )
  25. :: ---------------------- 上下动画 ----------------------
  26. for /l %%a in (1 1 1000000) do (
  27.     set String_Top=!String_Top:~-1!!String_Top:~0,-1!
  28.     set String_Bottom=!String_Bottom:~1!!String_Bottom:~0,1!
  29.     echo !String_Top!
  30.     echo      !String_Center!
  31.     echo !String_Bottom!
  32.     ping -n 1 127.1 >nul
  33.     cls
  34. )
复制代码
[ 本帖最后由 z7r3kslwtj5w_px 于 2010-7-21 19:34 编辑 ]
作者: sl543001    时间: 2010-7-21 22:30

路过,代码就不发了.以下截图都为动态动画,无需人工控制干预.

[ 本帖最后由 sl543001 于 2010-7-21 23:39 编辑 ]
作者: wankoilz    时间: 2010-7-21 23:27     标题: 回复 1楼 的帖子

也来一个,不知道怎么弄“移动鼠标显示”啊:
  1. @echo off&SetLocal EnableDelayedExpansion
  2. mode con cols=25 lines=4&title BatHome
  3. set "str1=>  >  >  >  >  >  >  >"
  4. set "str2=<  <  <  <  <  <  <  <"
  5. set "sleep=(for /l %%i in (1,1,100) do echo.>nul)&cls"
  6. set "log=echo      bbs.bathome.net"
  7. :loop
  8. echo !str1!&%log%&echo   !str2!&%sleep%
  9. echo  !str1!&%log%&echo  !str2!&%sleep%
  10. echo   !str1!&%log%&echo !str2!&%sleep%
  11. goto :loop
复制代码

[ 本帖最后由 wankoilz 于 2010-7-21 23:41 编辑 ]
作者: skuny    时间: 2010-12-29 14:19

2楼 中间动画   复杂化了
  1. @echo off
  2. SetLocal EnableDelayedExpansion
  3. for /l %%i in (15 -1 1) do (
  4.          set "aaa= !aaa!"
  5. )
  6. set /p =         <nul
  7. set "str=bbs.bathome.net"
  8. for /l %%i in (15 -1 1) do (
  9.       set /p=!aaa!<nul
  10.       set num=%%i
  11.       call set "aaa=%%aaa:~-!num!%%"
  12.       set /a n+=1
  13.       set /a m=n-1
  14.       call set "one=%%str:~!m!,1%%"
  15.       for /l %%j in (1 1 !num!) do (
  16.               set /p "= !one!"<nul
  17.               ping -n 1 127.1>nul
  18.       )
  19. )
  20. pause>nul
复制代码

作者: cjiabing    时间: 2011-4-28 23:52

改编人家的,有点意思,不过CPU……
  1. @echo off&setlocal enabledelayedexpansion
  2. ::可以通过修改两个FOR以及str的空格数量来控制图标往前或者往后移动。
  3. ::退格键的意义就是cls的意义,只不过它不是全屏清理,而是往前清理。
  4. echo,
  5. echo.
  6. set "str=                            《《》》"
  7. for /l %%a in (1,1,50) do set "t=!t! "
  8. echo.&set /p= <nul
  9. echo.弹簧、钟摆、火车
  10. :lp
  11. for /l %%a in (1,1,20) do (
  12.      set /a a=6*%%a
  13.      for %%b in (!a!) do set "t1=!t:~%%b!"
  14.      set /p=!str:~%%a!<nul
  15.      for /l %%b in (1,1,500) do echo>nul
  16.      set /p=!t1!<nul
  17. )
  18. goto lp
复制代码

作者: mstsc    时间: 2011-5-3 13:07

很好很强大
作者: evenar    时间: 2011-5-28 20:06

嗯  不是 很会 !潜水继续看!!
作者: taofan712    时间: 2017-2-23 22:47

回复 2# z7r3kslwtj5w_px
看代码眼睛都要看花了还没想明白是怎么实现的。。。
作者: taofan712    时间: 2017-3-3 23:50

回复 2# z7r3kslwtj5w_px

时隔几日,终究看明白了,感谢分享
作者: 老刘1号    时间: 2017-3-4 12:51

照抄CNDOS飞入+变色字
不是我写的,我只是搬运工(<v<)
  1. @echo off&setlocal enabledelayedexpansion&cls&color 0f&title Welcome to BatHome!
  2. mode con: cols=30 lines=3
  3. set "a=                            BatHome"
  4. set b=
  5. set "c=12345689abcde"
  6. :c
  7. for /l %%a in (6,1,28) do (
  8. set /a d=%random%%%13+1
  9. call :pp %%a
  10. )
  11. goto c
  12. :pp
  13. set/p=!a:~-%1!<nul
  14. set/p=!b:~0,%1!<nul
  15. color 0!c:~%d%,1!
  16. goto :eof
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2