批处理之家's Archiver

poxi 发表于 2010-7-21 10:06

[出题]批处理视觉类动画

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

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

要求:显示上图效果
====================
新手试试...老鸟略过......

[[i] 本帖最后由 poxi 于 2010-7-21 10:08 编辑 [/i]]

z7r3kslwtj5w_px 发表于 2010-7-21 12:51

[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]]

sl543001 发表于 2010-7-21 22:30

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

[[i] 本帖最后由 sl543001 于 2010-7-21 23:39 编辑 [/i]]

wankoilz 发表于 2010-7-21 23:27

回复 1楼 的帖子

也来一个,不知道怎么弄“移动鼠标显示”啊:[code]@echo off&SetLocal EnableDelayedExpansion
mode 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]]

skuny 发表于 2010-12-29 14:19

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]

cjiabing 发表于 2011-4-28 23:52

改编人家的,有点意思,不过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]

mstsc 发表于 2011-5-3 13:07

很好很强大

evenar 发表于 2011-5-28 20:06

嗯  不是 很会 !潜水继续看!!

taofan712 发表于 2017-2-23 22:47

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=56701&ptid=8654]2#[/url] [i]z7r3kslwtj5w_px[/i] [/b]
看代码眼睛都要看花了还没想明白是怎么实现的。。。:dizzy:

taofan712 发表于 2017-3-3 23:50

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=56701&ptid=8654]2#[/url] [i]z7r3kslwtj5w_px[/i] [/b]

时隔几日,终究看明白了,感谢分享

老刘1号 发表于 2017-3-4 12:51

照抄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]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.