/unmaintained/springies/models/2x2snake/2x2snake.factor

http://github.com/abeaumont/factor · Factor · 223 lines · 213 code · 9 blank · 1 comment · 0 complexity · c5a95a52a5254488a32cb69bb96997cc MD5 · raw file

  1. USING: kernel namespaces arrays sequences threads math math.vectors
  2. ui random springies springies.ui ;
  3. IN: springies.models.2x2snake
  4. : model ( -- )
  5. { } clone >nodes
  6. { } clone >springs
  7. 0.002 >time-slice
  8. gravity off
  9. 1 147.0 324.0 0.0 0.0 1.0 1.0 mass
  10. 2 164.0 324.0 0.0 0.0 1.0 1.0 mass
  11. 3 182.0 324.0 0.0 0.0 1.0 1.0 mass
  12. 4 200.0 324.0 0.0 0.0 1.0 1.0 mass
  13. 5 218.0 324.0 0.0 0.0 1.0 1.0 mass
  14. 6 236.0 324.0 0.0 0.0 1.0 1.0 mass
  15. 7 254.0 324.0 0.0 0.0 1.0 1.0 mass
  16. 8 272.0 324.0 0.0 0.0 1.0 1.0 mass
  17. 9 290.0 324.0 0.0 0.0 1.0 1.0 mass
  18. 10 308.0 324.0 0.0 0.0 1.0 1.0 mass
  19. 11 326.0 324.0 0.0 0.0 1.0 1.0 mass
  20. 12 344.0 324.0 0.0 0.0 1.0 1.0 mass
  21. 13 362.0 324.0 0.0 0.0 1.0 1.0 mass
  22. 14 380.0 324.0 0.0 0.0 1.0 1.0 mass
  23. 15 398.0 324.0 0.0 0.0 1.0 1.0 mass
  24. 16 416.0 324.0 0.0 0.0 1.0 1.0 mass
  25. 17 434.0 324.0 0.0 0.0 1.0 1.0 mass
  26. 18 452.0 324.0 0.0 0.0 1.0 1.0 mass
  27. 19 470.0 324.0 0.0 0.0 1.0 1.0 mass
  28. 20 147.0 298.0 0.0 0.0 1.0 1.0 mass
  29. 21 164.0 298.0 0.0 0.0 1.0 1.0 mass
  30. 22 182.0 298.0 0.0 0.0 1.0 1.0 mass
  31. 23 200.0 298.0 0.0 0.0 1.0 1.0 mass
  32. 24 218.0 298.0 0.0 0.0 1.0 1.0 mass
  33. 25 236.0 298.0 0.0 0.0 1.0 1.0 mass
  34. 26 254.0 298.0 0.0 0.0 1.0 1.0 mass
  35. 27 272.0 298.0 0.0 0.0 1.0 1.0 mass
  36. 28 290.0 298.0 0.0 0.0 1.0 1.0 mass
  37. 29 308.0 298.0 0.0 0.0 1.0 1.0 mass
  38. 30 326.0 298.0 0.0 0.0 1.0 1.0 mass
  39. 31 344.0 298.0 0.0 0.0 1.0 1.0 mass
  40. 32 362.0 298.0 0.0 0.0 1.0 1.0 mass
  41. 33 380.0 298.0 0.0 0.0 1.0 1.0 mass
  42. 34 398.0 298.0 0.0 0.0 1.0 1.0 mass
  43. 35 416.0 298.0 0.0 0.0 1.0 1.0 mass
  44. 36 434.0 298.0 0.0 0.0 1.0 1.0 mass
  45. 37 452.0 298.0 0.0 0.0 1.0 1.0 mass
  46. 38 470.0 298.0 0.0 0.0 1.0 1.0 mass
  47. 1 1 2 200.0 1.500000 18.0 spng
  48. 2 3 2 200.0 1.500000 18.0 spng
  49. 3 3 4 200.0 1.500000 18.0 spng
  50. 4 4 5 200.0 1.500000 18.0 spng
  51. 5 5 6 200.0 1.500000 18.0 spng
  52. 6 6 7 200.0 1.500000 18.0 spng
  53. 7 7 8 200.0 1.500000 18.0 spng
  54. 8 8 9 200.0 1.500000 18.0 spng
  55. 9 9 10 200.0 1.500000 18.0 spng
  56. 10 10 11 200.0 1.500000 18.0 spng
  57. 11 11 12 200.0 1.500000 18.0 spng
  58. 12 12 13 200.0 1.500000 18.0 spng
  59. 13 13 14 200.0 1.500000 18.0 spng
  60. 14 14 15 200.0 1.500000 18.0 spng
  61. 15 15 16 200.0 1.500000 18.0 spng
  62. 16 16 17 200.0 1.500000 18.0 spng
  63. 17 17 18 200.0 1.500000 18.0 spng
  64. 18 18 19 200.0 1.500000 18.0 spng
  65. 19 1 3 200.0 1.500000 36.0 spng
  66. 20 2 4 200.0 1.500000 36.0 spng
  67. 21 3 5 200.0 1.500000 36.0 spng
  68. 22 4 6 200.0 1.500000 36.0 spng
  69. 23 5 7 200.0 1.500000 36.0 spng
  70. 24 6 8 200.0 1.500000 36.0 spng
  71. 25 7 9 200.0 1.500000 36.0 spng
  72. 26 8 10 200.0 1.500000 36.0 spng
  73. 27 9 11 200.0 1.500000 36.0 spng
  74. 28 10 12 200.0 1.500000 36.0 spng
  75. 29 11 13 200.0 1.500000 36.0 spng
  76. 30 12 14 200.0 1.500000 36.0 spng
  77. 31 13 15 200.0 1.500000 36.0 spng
  78. 32 14 16 200.0 1.500000 36.0 spng
  79. 33 15 17 200.0 1.500000 36.0 spng
  80. 34 16 18 200.0 1.500000 36.0 spng
  81. 35 17 19 200.0 1.500000 36.0 spng
  82. 36 20 21 200.0 1.500000 18.0 spng
  83. 37 22 21 200.0 1.500000 18.0 spng
  84. 38 22 23 200.0 1.500000 18.0 spng
  85. 39 23 24 200.0 1.500000 18.0 spng
  86. 40 24 25 200.0 1.500000 18.0 spng
  87. 41 25 26 200.0 1.500000 18.0 spng
  88. 42 26 27 200.0 1.500000 18.0 spng
  89. 43 27 28 200.0 1.500000 18.0 spng
  90. 44 28 29 200.0 1.500000 18.0 spng
  91. 45 29 30 200.0 1.500000 18.0 spng
  92. 46 30 31 200.0 1.500000 18.0 spng
  93. 47 31 32 200.0 1.500000 18.0 spng
  94. 48 32 33 200.0 1.500000 18.0 spng
  95. 49 33 34 200.0 1.500000 18.0 spng
  96. 50 34 35 200.0 1.500000 18.0 spng
  97. 51 35 36 200.0 1.500000 18.0 spng
  98. 52 36 37 200.0 1.500000 18.0 spng
  99. 53 37 38 200.0 1.500000 18.0 spng
  100. 54 20 22 200.0 1.500000 36.0 spng
  101. 55 21 23 200.0 1.500000 36.0 spng
  102. 56 22 24 200.0 1.500000 36.0 spng
  103. 57 23 25 200.0 1.500000 36.0 spng
  104. 58 24 26 200.0 1.500000 36.0 spng
  105. 59 25 27 200.0 1.500000 36.0 spng
  106. 60 26 28 200.0 1.500000 36.0 spng
  107. 61 27 29 200.0 1.500000 36.0 spng
  108. 62 28 30 200.0 1.500000 36.0 spng
  109. 63 29 31 200.0 1.500000 36.0 spng
  110. 64 30 32 200.0 1.500000 36.0 spng
  111. 65 31 33 200.0 1.500000 36.0 spng
  112. 66 32 34 200.0 1.500000 36.0 spng
  113. 67 33 35 200.0 1.500000 36.0 spng
  114. 68 34 36 200.0 1.500000 36.0 spng
  115. 69 35 37 200.0 1.500000 36.0 spng
  116. 70 36 38 200.0 1.500000 36.0 spng
  117. 71 1 20 200.0 1.500000 26.0 spng
  118. 72 2 21 200.0 1.500000 26.0 spng
  119. 73 3 22 200.0 1.500000 26.0 spng
  120. 74 4 23 200.0 1.500000 26.0 spng
  121. 75 5 24 200.0 1.500000 26.0 spng
  122. 76 25 6 200.0 1.500000 26.0 spng
  123. 77 7 26 200.0 1.500000 26.0 spng
  124. 78 27 8 200.0 1.500000 26.0 spng
  125. 79 9 28 200.0 1.500000 26.0 spng
  126. 80 29 10 200.0 1.500000 26.0 spng
  127. 81 11 30 200.0 1.500000 26.0 spng
  128. 82 31 12 200.0 1.500000 26.0 spng
  129. 83 13 32 200.0 1.500000 26.0 spng
  130. 84 33 14 200.0 1.500000 26.0 spng
  131. 85 15 34 200.0 1.500000 26.0 spng
  132. 86 35 16 200.0 1.500000 26.0 spng
  133. 87 17 36 200.0 1.500000 26.0 spng
  134. 88 37 18 200.0 1.500000 26.0 spng
  135. 89 19 38 200.0 1.500000 26.0 spng
  136. 90 1 21 200.0 1.500000 31.064449 spng
  137. 91 2 20 200.0 1.500000 31.064449 spng
  138. 92 2 22 200.0 1.500000 31.622777 spng
  139. 93 3 21 200.0 1.500000 31.622777 spng
  140. 94 3 23 200.0 1.500000 31.622777 spng
  141. 95 4 22 200.0 1.500000 31.622777 spng
  142. 96 4 24 200.0 1.500000 31.622777 spng
  143. 97 5 23 200.0 1.500000 31.622777 spng
  144. 98 5 25 200.0 1.500000 31.622777 spng
  145. 99 6 24 200.0 1.500000 31.622777 spng
  146. 100 6 26 200.0 1.500000 31.622777 spng
  147. 101 7 25 200.0 1.500000 31.622777 spng
  148. 102 7 27 200.0 1.500000 31.622777 spng
  149. 103 8 26 200.0 1.500000 31.622777 spng
  150. 104 8 28 200.0 1.500000 31.622777 spng
  151. 105 9 27 200.0 1.500000 31.622777 spng
  152. 106 9 29 200.0 1.500000 31.622777 spng
  153. 107 10 28 200.0 1.500000 31.622777 spng
  154. 108 10 30 200.0 1.500000 31.622777 spng
  155. 109 11 29 200.0 1.500000 31.622777 spng
  156. 110 11 31 200.0 1.500000 31.622777 spng
  157. 111 12 30 200.0 1.500000 31.622777 spng
  158. 112 12 32 200.0 1.500000 31.622777 spng
  159. 113 13 31 200.0 1.500000 31.622777 spng
  160. 114 13 33 200.0 1.500000 31.622777 spng
  161. 115 14 32 200.0 1.500000 31.622777 spng
  162. 116 14 34 200.0 1.500000 31.622777 spng
  163. 117 15 33 200.0 1.500000 31.622777 spng
  164. 118 15 35 200.0 1.500000 31.622777 spng
  165. 119 16 34 200.0 1.500000 31.622777 spng
  166. 120 16 36 200.0 1.500000 31.622777 spng
  167. 121 17 35 200.0 1.500000 31.622777 spng
  168. 122 17 37 200.0 1.500000 31.622777 spng
  169. 123 18 36 200.0 1.500000 31.622777 spng
  170. 124 18 38 200.0 1.500000 31.622777 spng
  171. 125 19 37 200.0 1.500000 31.622777 spng
  172. 126 1 22 200.0 1.500000 43.600459 spng
  173. 127 3 20 200.0 1.500000 43.600459 spng
  174. 128 2 23 200.0 1.500000 44.407207 spng
  175. 129 4 21 200.0 1.500000 44.407207 spng
  176. 130 3 24 200.0 1.500000 44.407207 spng
  177. 131 5 22 200.0 1.500000 44.407207 spng
  178. 132 4 25 200.0 1.500000 44.407207 spng
  179. 133 6 23 200.0 1.500000 44.407207 spng
  180. 134 5 26 200.0 1.500000 44.407207 spng
  181. 135 7 24 200.0 1.500000 44.407207 spng
  182. 136 6 27 200.0 1.500000 44.407207 spng
  183. 137 8 25 200.0 1.500000 44.407207 spng
  184. 138 7 28 200.0 1.500000 44.407207 spng
  185. 139 9 26 200.0 1.500000 44.407207 spng
  186. 140 8 29 200.0 1.500000 44.407207 spng
  187. 141 10 27 200.0 1.500000 44.407207 spng
  188. 142 9 30 200.0 1.500000 44.407207 spng
  189. 143 11 28 200.0 1.500000 44.407207 spng
  190. 144 10 31 200.0 1.500000 44.407207 spng
  191. 145 12 29 200.0 1.500000 44.407207 spng
  192. 146 11 32 200.0 1.500000 44.407207 spng
  193. 147 13 30 200.0 1.500000 44.407207 spng
  194. 148 12 33 200.0 1.500000 44.407207 spng
  195. 149 14 31 200.0 1.500000 44.407207 spng
  196. 150 13 34 200.0 1.500000 44.407207 spng
  197. 151 15 33 200.0 1.500000 31.622777 spng
  198. 152 32 15 200.0 1.500000 44.407207 spng
  199. 153 14 35 200.0 1.500000 44.407207 spng
  200. 154 16 33 200.0 1.500000 44.407207 spng
  201. 155 15 36 200.0 1.500000 44.407207 spng
  202. 156 34 17 200.0 1.500000 44.407207 spng
  203. 157 16 37 200.0 1.500000 44.407207 spng
  204. 158 18 35 200.0 1.500000 44.407207 spng
  205. 159 17 38 200.0 1.500000 44.407207 spng
  206. 160 19 36 200.0 1.500000 44.407207 spng
  207. ! Send the half of the snake in a random direction
  208. nodes> 10 [ swap nth ] with map
  209. nodes> 10 [ 19 + swap nth ] with map append
  210. 100 random -50 + 100 random 100 + { -1 1 } random * 2array
  211. [ swap set-node-vel ] curry
  212. each ;
  213. : go ( -- ) [ model ] go* ;
  214. MAIN: go