Board logo

标题: [其他] 酷语言在批处理中的应用 [打印本页]

作者: happy886rr    时间: 2017-2-14 19:58     标题: 酷语言在批处理中的应用

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

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
复制代码
效果图(均为外链,随时失效)

作者: 老刘1号    时间: 2017-2-14 22:47

本帖最后由 老刘1号 于 2017-2-17 13:22 编辑

学习了,这回有的折腾了
作者: happy886rr    时间: 2017-2-15 11:28

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

  1. @ECHO OFF&MODE CON COLS=100 LINES=30&TITLE 【老刘制作】烟花-简易&(For /l %%. in (1,0,2) do CLGO "%~F0")
  2. TO main
  3. 烟花 200 200 4 15 300 0 40 25
  4. TO 烟花 :X坐标 :Y坐标 :笔宽 :笔色 :随机300内 :临时变量 :延时1 :延时2
  5. make :PENS=5
  6. make :penx=rand(:X坐标) :peny=rand(:Y坐标)
  7. make :PENW=rand(:笔宽)
  8. make :PENC=rand(:笔色)
  9. make :临时变量=rand(:随机300内)
  10. Repeat 36 [
  11. PD
  12. FD :临时变量/16
  13. PU
  14. BK :临时变量/16
  15. LT 10
  16. ]
  17. wait :延时1
  18. Repeat 36 [
  19. PD
  20. FD :临时变量/12
  21. PU
  22. BK :临时变量/12
  23. LT 10
  24. ]
  25. wait :延时1
  26. Repeat 36 [
  27. PD
  28. FD :临时变量/10
  29. PU
  30. BK :临时变量/10
  31. LT 10
  32. ]
  33. wait :延时1
  34. Repeat 36 [
  35. PD
  36. FD :临时变量/8
  37. PU
  38. BK :临时变量/8
  39. LT 10
  40. ]
  41. wait :延时1
  42. Repeat 36 [
  43. PD
  44. FD :临时变量/7
  45. PU
  46. BK :临时变量/7
  47. LT 10
  48. ]
  49. wait :延时1
  50. Repeat 36 [
  51. PD
  52. FD :临时变量/6
  53. PU
  54. BK :临时变量/6
  55. LT 10
  56. ]
  57. Repeat 36 [
  58. PD
  59. FD :临时变量/5
  60. PU
  61. BK :临时变量/5
  62. LT 10
  63. ]
  64. wait :延时1
  65. Repeat 36 [
  66. PD
  67. FD :临时变量/4
  68. PU
  69. BK :临时变量/4
  70. LT 10
  71. ]
  72. wait :延时1
  73. Repeat 36 [
  74. PD
  75. FD :临时变量/3.5
  76. PU
  77. BK :临时变量/3.5
  78. LT 10
  79. ]
  80. wait :延时1
  81. Repeat 36 [
  82. PD
  83. FD :临时变量/3
  84. PU
  85. BK :临时变量/3
  86. LT 10
  87. ]
  88. wait :延时1
  89. Repeat 36 [
  90. PD
  91. FD :临时变量/2.5
  92. PU
  93. BK :临时变量/2.5
  94. LT 10
  95. ]
  96. wait :延时1
  97. Repeat 36 [
  98. PD
  99. FD :临时变量/2
  100. PU
  101. BK :临时变量/2
  102. LT 10
  103. ]
  104. wait :延时1
  105. Repeat 36 [
  106. PD
  107. PE
  108. FD :临时变量/36
  109. PU
  110. PD
  111. FD :临时变量/36*20
  112. PU
  113. BK :临时变量/36*21
  114. LT 10
  115. ]
  116. wait :延时2
  117. Repeat 36 [
  118. PD
  119. PE
  120. FD :临时变量/18
  121. PU
  122. PD
  123. FD :临时变量/18*11
  124. PU
  125. BK :临时变量/3*2
  126. LT 10
  127. ]
  128. wait :延时2
  129. Repeat 36 [
  130. PD
  131. PE
  132. FD :临时变量/16
  133. PU
  134. PD
  135. FD :临时变量/16*11
  136. PU
  137. BK :临时变量/4*3
  138. LT 10
  139. ]
  140. wait :延时2
  141. Repeat 36 [
  142. PD
  143. PE
  144. FD :临时变量/12
  145. PU
  146. PD
  147. FD :临时变量/12*7
  148. PU
  149. BK :临时变量/3*2
  150. LT 10
  151. ]
  152. wait :延时2
  153. Repeat 36 [
  154. PD
  155. PE
  156. FD :临时变量/9
  157. PU
  158. BK :临时变量/9
  159. LT 10
  160. ]
  161. wait :延时2
  162. Repeat 36 [
  163. PD
  164. PE
  165. FD :临时变量/6
  166. PU
  167. BK :临时变量/6
  168. LT 10
  169. ]
  170. wait :延时2
  171. Repeat 36 [
  172. PD
  173. PE
  174. FD :临时变量/4
  175. PU
  176. BK :临时变量/4
  177. LT 10
  178. ]
  179. wait :延时2
  180. Repeat 36 [
  181. PD
  182. PE
  183. FD :临时变量/3
  184. PU
  185. BK :临时变量/3
  186. LT 10
  187. ]
  188. wait :延时2
  189. Repeat 36 [
  190. PD
  191. PE
  192. FD :临时变量/2.5
  193. PU
  194. BK :临时变量/2.5
  195. LT 10
  196. ]
  197. wait :延时2
  198. Repeat 36 [
  199. PD
  200. PE
  201. FD :临时变量/2.2
  202. PU
  203. BK :临时变量/2.2
  204. LT 10
  205. ]
  206. wait :延时2
  207. Repeat 36 [
  208. PD
  209. PE
  210. FD :临时变量/2.1
  211. PU
  212. BK :临时变量/2.1
  213. LT 10
  214. ]
  215. wait :延时2
  216. Repeat 36 [
  217. PD
  218. PE
  219. FD :临时变量/2
  220. PU
  221. BK :临时变量/2
  222. LT 10
  223. ]
  224. wait :延时2
  225. Repeat 36 [
  226. PD
  227. PE
  228. FD :临时变量/1.7
  229. PU
  230. BK :临时变量/1.7
  231. LT 10
  232. ]
  233. wait :延时2
  234. Repeat 36 [
  235. PD
  236. PE
  237. FD :临时变量/1.6
  238. PU
  239. BK :临时变量/1.6
  240. LT 10
  241. ]
  242. wait :延时2
  243. Repeat 36 [
  244. PD
  245. PE
  246. FD :临时变量/1.45
  247. PU
  248. BK :临时变量/1.45
  249. LT 10
  250. ]
  251. wait :延时2
  252. Repeat 36 [
  253. PD
  254. PE
  255. FD :临时变量/1.2
  256. PU
  257. BK :临时变量/1.2
  258. LT 10
  259. ]
  260. wait :延时2
  261. Repeat 36 [
  262. PD
  263. PE
  264. FD :临时变量
  265. PU
  266. BK :临时变量
  267. LT 10
  268. ]
  269. wait :延时1
复制代码





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