[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[游戏娱乐] 批处理写大字特效编辑器

首发于http://www.cn-dos.net/forum/viewthread.php?tid=45423&fpage=1
作者:523066680
blog:         http://hi.baidu.com/523066680


仅作为一次娱乐,突发奇想,若浪费大家时间,莫怪莫怪
特别遗憾的就是代码颇长。
  1. @echo off&setLocal enabLedeLayedexpansion
  2. ::made by 523066680 2008-12-25
  3. title made by 523066680@cn-dos.net
  4. mode con coLs=45 Lines=22
  5.   set num=0123456789abcdefghi
  6.   set L0=0 1 2 3 4 5 6 7 8 9 a b c d e f g h
  7.   for /l %%a in (1,1,18) do (set L=□!L!)
  8.   for /l %%a in (1,1,18) do (set L%%a=%L%)
  9.   for /l %%a in (0,1,18) do (set n!num:~%%a,1!=%%a)
  10. for /l %%a in (0,1,18) do (echo,  !L%%a! !num:~%%a,1!)
  11. :a
  12. set /p n="(yx): "
  13. if "%n%"=="quit" (exit)
  14. if "%n%"=="exit" (echo,@set evern=%evern%>x.x &exit)
  15. set evern=%evern% %n%
  16. if "%n:~-1%"=="#" (set "str=□") else (set "str=■")
  17. if "%n:~3%"=="" (set "do=::") else (set "do=")
  18.   set /a ya=n%n:~0,1%,xa=n%n:~1,1%,xa2=xa+1
  19.   %do% set /a yb=n%n:~2,1%,xb=n%n:~3,1%,xb2=xb+1
  20.   %do% set "YorX=%n:~4,1%" &set "add=%n:~5,1%"
  21.   :a-1
  22.    set L%ya%=!L%ya%:~0,%xa%!%str%!L%ya%:~%xa2%!
  23.    %do% set /a %YorX%a%add%=1,xa2=xa+1
  24.    %do% if not !%YorX%a! equ !%YorX%b! (goto :a-1)
  25.    %do% set L%ya%=!L%ya%:~0,%xa%!%str%!L%ya%:~%xa2%!
  26. :echo
  27.   ping -n 1 127.1>nul
  28.   cLs
  29.   for /l %%a in (0,1,18) do (echo,  !L%%a! !num:~%%a,1!)
  30. goto :a
复制代码
  1. 0 1 2 3 4 5 6 7 8 9 a b c d e f g h  0
  2. □□□□□□□□□□□□□□□□□□ 1
  3. □□□□□□□□□□□□□□□□□□ 2
  4. □□□□□□□□□□□□□□□□□□ 3
  5. □□□□□□□□□□□□□□□□□□ 4
  6. □□□□□□□□□□□□□□□□□□ 5
  7. □□□□□□□□□□□□□□□□□□ 6
  8. □□□□□□□□□□□□□□□□□□ 7
  9. □□□□□□□□□□□□□□□□□□ 8
  10. □□□□□□□□□□□□□□□□□□ 9
  11. □□□□□□□□□□□□□□□□□□ a
  12. □□□□□□□□□□□□□□□□□□ b
  13. □□□□□□□□□□□□□□□□□□ c
  14. □□□□□□□□□□□□□□□□□□ d
  15. □□□□□□□□□□□□□□□□□□ e
  16. □□□□□□□□□□□□□□□□□□ f
  17. □□□□□□□□□□□□□□□□□□ g
  18. □□□□□□□□□□□□□□□□□□ h
  19. □□□□□□□□□□□□□□□□□□ i
复制代码
用法:
    直接输入坐标,如: 10 ,会在屏幕上描第一行第0编号的点,其实是第一行第一个点
假如后悔输入了这个点,再输入10#   就会把这个点去掉
    对于斜线曲线,只能一个个点描了。
    假如是一条竖线,或横线,可以输入两端点坐标 和"参数",
比如说,第一行第 1 到 f 的位置都要描点,从11到1f,就输入 111fx+
如果从1f到11,就输入1f11x- ;竖线,例如 10i0y+ 或i010y- 因为是直线,所以其中一个坐标是固定的
(都算是对使用者的要求吧...输入错误就会死循环的)
    仍然可以一整条的取消,例如:111fx+#
(后面带#的代表取消)
当一个字编辑好以后,
    输入exit结束  会把过程中输入的编码输出到 x.x 文件 编码记录着顺序,贴到已经编好的特效
脚本行首,就可了。其实 特效脚本 和 编辑器 的代码大部分一样,
编辑器只是为了方便看到结果并编辑,而特效脚本只是将作者原来输入的信息自动地"输入"一次罢了。
    输入quit结束 直接结束,不生成x.x文件
因为有用# 符号撤销描点的部分,所以特效一般会照搬过程,例如输入信息中有 111dx+ 111dx+#
找到这部分, 去掉 111dx+ 111dx+#,过程就会跳过这个。
以下是一个特效模板:
    第一行的编码是一个例子,出现了写错又擦掉的过程。可以试着去掉 1b1cx+ 1b1cx+# 再看一次。
    看自己的编辑的效果:把自己编辑获得的编码 整句 代替以下代码的第一行即可。
  1. @set evern= 1151y+ 1316x+ 1636y+ 3633x- 3353y+ 5356x+ 181bx+ 1b1cx+ 1b1cx+# 1b 1b5by+ 383ax+ 585ax+
  2. @echo off&setLocal enabLedeLayedexpansion
  3. mode con coLs=40 Lines=22
  4. color 40
  5.   set "L0=" &set "num=0123456789abcdefghi"
  6.   for /l %%a in (1,1,18) do (set L=□!L!)
  7.   for /l %%a in (1,1,18) do (set L%%a=%L%)
  8.   for /l %%a in (0,1,18) do (set n!num:~%%a,1!=%%a)
  9. for %%a in (%evern%) do (call :a %%a)
  10. pause
  11. exit
  12. :a
  13. set n=%~1
  14. if "%n:~-1%"=="#" (set "str=□") else (set "str=■")
  15. if "%n:~3%"=="" (set "do=::") else (set "do=")
  16.   set /a ya=n%n:~0,1%,xa=n%n:~1,1%,xa2=xa+1
  17.   %do% set /a yb=n%n:~2,1%,xb=n%n:~3,1%,xb2=xb+1
  18.   %do% set "YorX=%n:~4,1%" &set "add=%n:~5,1%"
  19.   :a-1
  20.   set L%ya%=!L%ya%:~0,%xa%!%str%!L%ya%:~%xa2%!
  21.   call :echo
  22.   %do% set /a %YorX%a%add%=1,xa2=xa+1
  23.   %do% if not !%YorX%a! equ !%YorX%b! (goto :a-1)
  24.   %do% set L%ya%=!L%ya%:~0,%xa%!%str%!L%ya%:~%xa2%!
  25.   %do% for /l %%a in (1,1,3) do (ping -n 1 127.1>nul)
  26. :echo
  27.   for /l %%a in (1,1,3) do (ping -n 1 127.1>nul)
  28.   cLs
  29.   for /l %%a in (0,1,18) do (echo, !L%%a!)
  30.   goto :eof
复制代码
其实修改后也可以用来编辑和获得字符组成的图案,下面是自己编辑的字符进行组合(编的不太好唷...):
 
 ■
■■ ■
■■■■■■■■ ■■■■■■■■■
■■■■ ■■■
■■■ ■■■■■■■■
■■■■■■■■■■■■■■ ■■
■■■ ■■
■■■■■■■ ■■
■■■ ■■■■■■■■■■■
■■■■■ ■
■■■■■ ■
■■■ ■
■■■ ■
■■■■ ■

 
 
 
■■ ■
■■ ■
■■■■■■■■ ■■
■■■■ ■■■■
■■■■■ ■■
■■■■■ ■■
■■■■■■■■■■■ ■■
■■ ■■■■■■■■■■■■■
■■ ■
■■ ■
■■■ ■■■
■■■ ■■■
■■■ ■■■
■■■■ ■
■ ■
 ■■
 
1

评分人数

    • BBCC: 不错 不错 + 1

没人要沙发我要了!
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

这个字符图在记事本中不对齐。放在哪编辑比较好呢?

TOP

注意罗:输入00,似乎显示有些问题(第一个数字为0时),屏蔽一下吧

TOP

回复 3楼 的帖子

网页编辑软件,比如微软Office里面的FrontPage
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

觉得纯键盘操作是很累的,要是能加上鼠标,就像是画图了(还是造字?)
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

支持一下   我喜欢原理

TOP

返回列表