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

[其他] 酷语言在批处理中的应用

本帖最后由 happy886rr 于 2017-2-15 11:33 编辑

CLGO语言正式更名“酷语言”,是一种批处理寄生脚本,帮助批处理实现多彩的绘图功能。随着酷语言社区的不断壮大,开发者日渐增多。本次收集了一些酷语言社区开发者的作品(也包含本人的作品)供大家赏析。打包下载。

1.灰色时钟
  1. ::*****************************************************************************
  2.   @ECHO OFF&MODE CON COLS=100 LINES=30&CLGO "%~F0"&PAUSE>NUL&EXIT /B
  3. ::*****************************************************************************
  4. TO DIAL
  5. MAKE :PENW=2 :PENC=8
  6. REPEAT 60
  7. [
  8. MAKE :PENC=8
  9. PU
  10. FD 130
  11. PD
  12. FD 10
  13. BK 140
  14. RT 6
  15. ]
  16. MAKE :PENW=3
  17. REPEAT 12
  18. [
  19. PU
  20. FD 115
  21. PD
  22. FD 25
  23. BK 140
  24. RT 30
  25. ]
  26. MAKE :PENW=2
  27. REPEAT 60
  28. [
  29. MAKE :PENC=8
  30. PU
  31. FD 80
  32. PD
  33. FD 20
  34. BK 100
  35. RT 6
  36. ]
  37. TO HOUR___HAND :ANGEL :LEN
  38. MINUTE_HAND :ANGEL :LEN
  39. TO MINUTE_HAND :ANGEL :LEN
  40. MAKE :PENC=8 :PENW=4
  41. RT   :ANGEL
  42. FD   :LEN
  43. HM
  44. TO SECOND_HAND :ANGEL :LEN
  45. MAKE :PENC=6 :PENW=3
  46. RT   :ANGEL
  47. FD   :LEN
  48. HM
  49. TO MAIN
  50. MAKE :PENS=2
  51. DIAL
  52. MAKE :PENC=8 :PENW=6
  53. OVAL 139 139 0
  54. MAKE :PENC=8 :PENW=3
  55. OVAL 100 100 0
  56. MAKE :PENC=8
  57. OVAL 80  80  0
  58. MAKE :PENC=4
  59. OVAL 3   3   0
  60. MEMUSE
  61. WHILE
  62. [
  63. HOUR___HAND (TIME(3)+TIME(4)/60)*30  60
  64. MINUTE_HAND (TIME(4)+TIME(5)/60)*6   80
  65. SECOND_HAND (TIME(5)*6) 110
  66. TEXT   24  0  15  微软雅黑 {TIME(3)}时{TIME(4)}分{TIME(5)}秒
  67. MEMSEE
  68. WAIT 1000
  69. ]
  70. MEMOUT
复制代码
2.蝴蝶曲线
  1. ::*****************************************************************************
  2.   @ECHO OFF&MODE CON COLS=100 LINES=30&CLGO "%~F0"&PAUSE>NUL&EXIT /B
  3. ::*****************************************************************************
  4. TO MAIN
  5. MAKE :PENS=2 :PENW=13 :PENC=4
  6. FOR  ::T 0 3600
  7. IF ::T%360=0
  8. MAKE :PENC=RAND(15)+1
  9. ]
  10. MAKE  :PEN0=(EXP(COS(DEG(::T)))-2*COS(DEG(4*::T))+(SIN(DEG(::T/12)))^5)*70
  11. SETXY :PEN0*COS(DEG(::T)) :PEN0*SIN(DEG(::T))
  12. ]
复制代码
3.转动的鸡蛋
  1. ::*****************************************************************************
  2.   @ECHO OFF&MODE CON COLS=100 LINES=30&CLGO "%~F0"&PAUSE>NUL&EXIT /B
  3. ::*****************************************************************************
  4. TO TC :A :B :K :XX :YY :Z :W :R
  5. MAKE :PENX=:A*(COS(0))*(COS(DEG(:Z)))-(:B*(SIN(0))/(1-:K*(SIN(0))))*(SIN(DEG(:Z)))+:XX
  6. MAKE :PENY=:A*(COS(0))*(SIN(DEG(:Z)))+(:B*(SIN(0))/(1-:K*(SIN(0))))*(COS(DEG(:Z)))+:YY
  7. FOR ::I 0 360
  8. SETXY :A*(COS(DEG(::I)))*(COS(DEG(:Z)))-(:B*(SIN(DEG(::I)))/(1-:K*(SIN(DEG(::I)))))*(SIN(DEG(:Z)))+:XX :A*(COS(DEG(::I)))*(SIN(DEG(:Z)))+(:B*(SIN(DEG(::I)))/(1-:K*(SIN(DEG(::I)))))*(COS(DEG(:Z)))+:YY
  9. MAKE  :PENX=:A*(COS(DEG(::I)))*(COS(DEG(:Z)))-(:B*(SIN(DEG(::I)))/(1-:K*(SIN(DEG(::I)))))*(SIN(DEG(:Z)))+:XX
  10. MAKE  :PENY=:A*(COS(DEG(::I)))*(SIN(DEG(:Z)))+(:B*(SIN(DEG(::I)))/(1-:K*(SIN(DEG(::I)))))*(COS(DEG(:Z)))+:YY
  11. IF :W=::I
  12. FOR ::J 1 :R
  13. OVAL ::J ::J 0
  14. ]
  15. ]
  16. IF :W=360-::I
  17. FOR ::J 1 :R
  18. OVAL ::J ::J 0
  19. ]
  20. ]
  21. IF :W=2*::I
  22. FOR ::J 1 :R
  23. OVAL ::J ::J 0
  24. ]
  25. ]
  26. ]
  27. TO MAIN
  28. MAKE :PENS=4 :PENW=2
  29. MEMUSE
  30. FOR ::K 0 360
  31. MAKE :PENC=RAND(3)+3
  32. TC 100 130 0.4 0 0 ::K ::K 10
  33. MEMSEE
  34. WAIT 20
  35. ]
复制代码
4.渐进斜椭圆
  1. ::*****************************************************************************
  2.   @ECHO OFF&MODE CON COLS=100 LINES=30&CLGO "%~F0"&PAUSE>NUL&EXIT /B
  3. ::*****************************************************************************
  4. //绘制斜椭圆过程
  5. TO OBLIQUE_ELLIPSES :A :B :X :Y :Z :J
  6. PU
  7. SETXY :A*(COS(0))*(COS(DEG(:Z)))-:B*(SIN(0))*(SIN(DEG(:Z)))+:X    :A*(COS(0))*(SIN(DEG(:Z)))+:B*(SIN(0))*(COS(DEG(:Z)))+:Y
  8. PD
  9. FOR ::T 0 360
  10. [
  11. SETXY :A*(COS(DEG(::T)))*(COS(DEG(:Z)))-:B*(SIN(DEG(::T)))*(SIN(DEG(:Z)))+:X    :A*(COS(DEG(::T)))*(SIN(DEG(:Z)))+:B*(SIN(DEG(::T)))*(COS(DEG(:Z)))+:Y
  12. ]:J
  13. //斜椭圆渐变主过程
  14. TO MAIN
  15. MAKE :PENS=2 :PENW=2 :PENC=5
  16. MEMUSE
  17. FOR ::A 360 1
  18. [
  19. OBLIQUE_ELLIPSES 300 100 0 0 10  ::A
  20.          OBLIQUE_ELLIPSES 200 200 0 0 120 ::A
  21. MEMSEE
  22. ](-1)
  23. MEMOUT
复制代码
5.患有帕金森综合征的线
  1. ::*****************************************************************************
  2.   @ECHO OFF&MODE CON COLS=100 LINES=30&CLGO "%~F0"&PAUSE>NUL&EXIT /B
  3. ::*****************************************************************************
  4. TO TEST :X1 :Y1 :X2 :Y2
  5. MAKE :PENS=2 :PENW=2 :PENC=4 :PENC=5
  6. MEMUSE
  7. MAKE :X1=-100 :Y1=-120 :X2=100 :Y2=-90
  8. FOR  ::I 1 30
  9. REPEAT 15
  10. MAKE :PENX=:X1 :PENY=:Y1+(RAND(20))
  11. SETXY :X2 :Y2
  12. MAKE :PENX=:X2 :PENY=:Y2
  13. SETXY :X1 :Y1+20
  14. MAKE :PENX=:X1 :PENY=:Y1+20
  15. SETXY :X2 :Y2+(RAND(20))
  16. MEMSEE
  17. MAKE :Y1=:Y1+1
  18. ]
  19. REPEAT 15
  20. MAKE :PENX=:X1 :PENY=:Y1+(RAND(20))
  21. SETXY :X2 :Y2
  22. MAKE :PENX=:X2 :PENY=:Y2
  23. SETXY :X1 :Y1+20
  24. MAKE :PENX=:X1 :PENY=:Y1+20
  25. SETXY :X2 :Y2+(RAND(20))
  26. WAIT 10
  27. MEMSEE
  28. MAKE :Y2=:Y2+1
  29. ]
  30. ]
  31. MEMSEE
  32. MEMOUT
  33. TO MAIN
  34. TEST -100 -100 100 -100
复制代码
6.正方形递归
  1. ::*****************************************************************************
  2.   @ECHO OFF&MODE CON COLS=100 LINES=30&CLGO "%~F0"&PAUSE>NUL&EXIT /B
  3. ::*****************************************************************************
  4. TO CYCL :START :ENDPS :STEPS
  5. FOR ::I :START :ENDPS
  6. MAKE :PENC=RAND(15)+1
  7. OVAL ::I/3 ::I ::I
  8. ]RAND(12)
  9. TO SQRE :START :ENDPS :STEPS
  10. FOR ::I :START :ENDPS
  11. MAKE :PENC=RAND(15)+1
  12. RECT ::I/3 ::I ::I
  13. ]RAND(12)
  14. TO MAIN
  15. MAKE :PENS=4 :PENW=1.2
  16. CYCL 10 300  3
  17. SQRE 10 300  3
  18. MAKE :PENX=-300 :PENY=200
  19. TEXT 22 3 7 微软雅黑 正方形递归
复制代码
7.银河系的震颤
  1. ::*****************************************************************************
  2.   @ECHO OFF&MODE CON COLS=100 LINES=30&CLGO "%~F0"&PAUSE>NUL&EXIT /B
  3. ::*****************************************************************************
  4. TO CYCL :START :ENDPS :STEPS
  5. FOR ::I :START :ENDPS
  6. MAKE :PENC=RAND(15)+1
  7. OVAL ::I/(RAND(15)+1) ::I ::I
  8. ](-1)*(RAND(5))
  9. TO SQRE :START :ENDPS :STEPS
  10. FOR ::I :START :ENDPS
  11. MAKE :PENC=RAND(15)+1
  12. RECT ::I/(RAND(15)+1) ::I ::I
  13. ](-1)*(RAND(5))
  14. TO MAIN
  15. MAKE :PENS=2 :PENW=1.3
  16. REPEAT 10000
  17. MEMUSE
  18. CYCL 200 100 3
  19. MEMSEE
  20. ]
复制代码
8.仙女散花
  1. ::*****************************************************************************
  2.   @ECHO OFF&MODE CON COLS=100 LINES=30&CLGO "%~F0"&PAUSE>NUL&EXIT /B
  3. ::*****************************************************************************
  4. TO FUNCTIONS_IMG :A
  5. MEMUSE
  6. FOR ::A 1 360*3
  7. MAKE :PENX=-1 :PENY=0
  8. ROTE ::A
  9. MEMSEE
  10. ]:A
  11. MEMOUT
  12. TO MORNING_GLORY
  13. REPEAT 12
  14. [
  15. MAKE :PENC=RAND(15)+1
  16. REPEAT 25
  17. [
  18. FD 100
  19. BK 100
  20. RT 2
  21. ]
  22. FD 35
  23. ]
  24. TO MAIN
  25. MAKE :PENS=4 :PENW=1.6 :PENX=-36 :PENY=126
  26. MORNING_GLORY
  27. FUNCTIONS_IMG 30
  28. REPEAT 30
  29. MAKE  :PENX=RAND(800)-400 :PENY=RAND(500)-300
  30. MORNING_GLORY
  31. ]
复制代码
9.烟花
  1. ::*****************************************************************************
  2.   @ECHO OFF&MODE CON COLS=100 LINES=30&CLGO "%~F0"&PAUSE>NUL&EXIT /B
  3. ::*****************************************************************************
  4. TO FIRST :X :Y :W :C :A :循环 :旋转角度
  5. REPEAT 20 [
  6. MAKE :PENX=RAND(:X)
  7. MAKE :PENY=RAND(:Y)
  8. MAKE :PENW=RAND(:W)
  9. MAKE :PENC=RAND(:C)
  10. MAKE :HEADING=RAND(:A)
  11. MAKE :旋转角度=RAND(:旋转角度)
  12. REPEAT 100 [
  13. MAKE :循环=:循环+10
  14. PD
  15. FD :循环
  16. PU
  17. BK :循环
  18. LT :旋转角度
  19. WAIT 1
  20. ]
  21. ]
  22. TO MAIN
  23. FIRST 150 100 3 15 180 0 30
复制代码
10.运动员(这也是最有趣的一个,来自一位酷语言编程高手的贡献)
  1. ::*****************************************************************************
  2.   @ECHO OFF&COLOR 0F&MODE CON COLS=200 LINES=45&CLGO "%~F0"&PAUSE>NUL&EXIT /B
  3. ::*****************************************************************************
  4. TO 头 :x :y :r :z臂 :z臂r :y臂 :y臂r :z腕 :z腕r :y腕 :y腕r :z腿 :z腿r :y腿 :y腿r :zx腿 :zx腿r :yx腿 :yx腿r
  5. make :penx=:penx+:x :peny=:peny+:y :heading=:heading+:r
  6. OVAL 10 10 0
  7. OVAL 6 6 0
  8. OVAL 2 2 0
  9. rt 180
  10. fd 80
  11. make :r=:heading :x=:penx :y=:peny :penc=1
  12. 左臂 :z臂 :z臂r :z腕 :z腕r
  13. make :heading=:r :penx=:x :peny=:y :penc=:penc+1
  14. 右臂 :y臂 :y臂r :y腕 :y腕r
  15. make :heading=:r :penx=:x :peny=:y :penc=:penc+1
  16. 左大腿 :z腿 :z腿r :zx腿 :zx腿r
  17. make :heading=:r :penx=:x :peny=:y :penc=:penc+1
  18. 右大腿 :y腿 :y腿r :yx腿 :yx腿r
  19. make :heading=:r :penx=:x :peny=:y :penc=:penc+1
  20. bk 80
  21. rt 180
  22. TO 左臂 :z臂 :z臂r :z腕 :z腕r
  23. bk 65
  24. rt :z臂+:z臂r
  25. fd 40
  26. 左腕 :z腕 :z腕r
  27. TO 右臂 :y臂 :y臂r :y腕 :y腕r
  28. bk 65
  29. rt :y臂+:y臂r
  30. fd 40
  31. 右腕 :y腕 :y腕r
  32. TO 左腕 :z腕 :z腕r
  33. make :penc=:penc+1
  34. rt :z腕+:z腕r
  35. fd 30
  36. TO 右腕 :y腕 :y腕r
  37. make :penc=:penc+1
  38. rt :y腕+:y腕r
  39. fd 30
  40. TO 左大腿 :z腿 :z腿r :zx腿 :zx腿r
  41. rt :z腿+:z腿r
  42. fd 50
  43. 左小腿 :zx腿 :zx腿r
  44. TO 右大腿 :y腿 :y腿r :yx腿 :yx腿r
  45. rt :y腿+:y腿r
  46. fd 50
  47. 右小腿 :yx腿 :yx腿r
  48. TO 左小腿 :zx腿 :zx腿r
  49. make :penc=:penc+2
  50. rt :zx腿+:zx腿r
  51. fd 50
  52. TO 右小腿 :yx腿 :yx腿r
  53. make :penc=:penc+2
  54. rt :yx腿+:yx腿r
  55. fd 50
  56. to 动 :x :y :r :z臂r :y臂r :z腕r :y腕r :z腿r :y腿r :zx腿r :yx腿r
  57. 头 :pen0 :pen1 :r :pen2 :z臂r :pen3 :y臂r :pen4 :z腕r :pen5 :y腕r :pen6 :z腿r :pen7 :y腿r :pen8 :zx腿r :pen9 :yx腿r
  58. make :pen0=:pen0+:x :pen1=:pen1+:y :pen2=:pen2+:z臂r :pen3=:pen3+:y臂r :pen4=:pen4+:z腕r
  59. make :pen5=:pen5+:y腕r :pen6=:pen6+:z腿r :pen7=:pen7+:y腿r :pen8=:pen8+:zx腿r :pen9=:pen9+:yx腿r
  60. TO MAIN
  61. //text 32 0 15 宋体 你好
  62. make :pen0=0 :pen1=0 :pen2=0 :pen3=0 :pen4=0 :pen5=0 :pen6=0 :pen7=0 :pen8=0 :pen9=0 :PENw=4
  63. MEMUSE
  64. WHILE
  65. 动 1 0 1 10 -10 -5 5 0 -10 0 10
  66. MEMSEE
  67. WAIT 100
  68. 动 0 0 0 10 -10 -5 5 -10 0 10 0
  69. MEMSEE
  70. WAIT 100
  71. 动 0 0 0 10 -10 -5 5 0 10 0 -10
  72. MEMSEE
  73. WAIT 100
  74. 动 -1 0 1 10 -10 -5 5 10 0 -10 0
  75. MEMSEE
  76. WAIT 100
  77. IF :penx>500
  78. make :penx=-500
  79. ]
  80. ]
  81. WAIT 100
复制代码
效果图(均为外链,随时失效)
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
2

评分人数

回复 2# 老刘1号
把第10个存为bat运行一下,很有趣,是昨天一位高手发给我的,他写的酷作品。
1

评分人数

TOP

返回列表