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