]> gitweb.factorcode.org Git - factor.git/blob - unmaintained/springies/models/3snake/3snake.factor
171a0426fc0d82390d153eb2a38f2485635cfbb8
[factor.git] / unmaintained / springies / models / 3snake / 3snake.factor
1
2 USING: kernel namespaces arrays sequences threads math ui random fry
3        springies springies.ui ;
4
5 IN: springies.models.3snake
6
7 : random-range ( a b -- n ) 1+ over - random + ;
8
9 : model ( -- )
10
11 { } clone >nodes
12 { } clone >springs
13 0.001 >time-slice
14 gravity off
15
16 1 19.0 328.0 0.0 0.0 1.0 1.0 mass
17 2 36.0 328.0 0.0 0.0 1.0 1.0 mass
18 3 54.0 328.0 0.0 0.0 1.0 1.0 mass
19 4 72.0 328.0 0.0 0.0 1.0 1.0 mass
20 5 90.0 328.0 0.0 0.0 1.0 1.0 mass
21 6 108.0 328.0 0.0 0.0 1.0 1.0 mass
22 7 126.0 328.0 0.0 0.0 1.0 1.0 mass
23 8 144.0 328.0 0.0 0.0 1.0 1.0 mass
24 9 162.0 328.0 0.0 0.0 1.0 1.0 mass
25 10 180.0 328.0 0.0 0.0 1.0 1.0 mass
26 11 198.0 328.0 0.0 0.0 1.0 1.0 mass
27 12 216.0 328.0 0.0 0.0 1.0 1.0 mass
28 13 234.0 328.0 0.0 0.0 1.0 1.0 mass
29 14 252.0 328.0 0.0 0.0 1.0 1.0 mass
30 15 270.0 328.0 0.0 0.0 1.0 1.0 mass
31 16 288.0 328.0 0.0 0.0 1.0 1.0 mass
32 17 306.0 328.0 0.0 0.0 1.0 1.0 mass
33 18 324.0 328.0 0.0 0.0 1.0 1.0 mass
34 19 342.0 328.0 0.0 0.0 1.0 1.0 mass
35 20 360.0 328.0 0.0 0.0 1.0 1.0 mass
36 21 378.0 328.0 0.0 0.0 1.0 1.0 mass
37 22 396.0 328.0 0.0 0.0 1.0 1.0 mass
38 23 414.0 328.0 0.0 0.0 1.0 1.0 mass
39 24 432.0 328.0 0.0 0.0 1.0 1.0 mass
40 25 450.0 328.0 0.0 0.0 1.0 1.0 mass
41 26 468.0 328.0 0.0 0.0 1.0 1.0 mass
42 27 504.0 328.0 0.0 0.0 1.0 1.0 mass
43 28 486.0 328.0 0.0 0.0 1.0 1.0 mass
44 29 522.0 328.0 0.0 0.0 1.0 1.0 mass
45 30 540.0 328.0 0.0 0.0 1.0 1.0 mass
46 31 558.0 328.0 0.0 0.0 1.0 1.0 mass
47 32 576.0 328.0 0.0 0.0 1.0 1.0 mass
48 33 594.0 328.0 0.0 0.0 1.0 1.0 mass
49 34 612.0 328.0 0.0 0.0 1.0 1.0 mass
50 35 626.0 328.0 0.0 0.0 1.0 1.0 mass
51 1 1 2 200.0 1.500000 18.0 spng
52 2 3 2 200.0 1.500000 18.0 spng
53 3 3 4 200.0 1.500000 18.0 spng
54 4 4 5 200.0 1.500000 18.0 spng
55 5 5 6 200.0 1.500000 18.0 spng
56 6 6 7 200.0 1.500000 18.0 spng
57 7 7 8 200.0 1.500000 18.0 spng
58 8 8 9 200.0 1.500000 18.0 spng
59 9 9 10 200.0 1.500000 18.0 spng
60 10 10 11 200.0 1.500000 18.0 spng
61 11 11 12 200.0 1.500000 18.0 spng
62 12 12 13 200.0 1.500000 18.0 spng
63 13 13 14 200.0 1.500000 18.0 spng
64 14 14 15 200.0 1.500000 18.0 spng
65 15 15 16 200.0 1.500000 18.0 spng
66 16 16 17 200.0 1.500000 18.0 spng
67 17 17 18 200.0 1.500000 18.0 spng
68 18 18 19 200.0 1.500000 18.0 spng
69 19 19 20 200.0 1.500000 18.0 spng
70 20 20 21 200.0 1.500000 18.0 spng
71 21 21 22 200.0 1.500000 18.0 spng
72 22 22 23 200.0 1.500000 18.0 spng
73 23 23 24 200.0 1.500000 18.0 spng
74 24 24 25 200.0 1.500000 18.0 spng
75 25 25 26 200.0 1.500000 18.0 spng
76 26 26 28 200.0 1.500000 18.0 spng
77 27 28 27 200.0 1.500000 18.0 spng
78 28 27 29 200.0 1.500000 18.0 spng
79 29 29 30 200.0 1.500000 18.0 spng
80 30 30 31 200.0 1.500000 18.0 spng
81 31 31 32 200.0 1.500000 18.0 spng
82 32 32 33 200.0 1.500000 18.0 spng
83 33 33 34 200.0 1.500000 18.0 spng
84 34 34 35 200.0 1.500000 18.0 spng
85 35 1 3 200.0 1.500000 36.0 spng
86 36 2 4 200.0 1.500000 36.0 spng
87 37 3 5 200.0 1.500000 36.0 spng
88 38 4 6 200.0 1.500000 36.0 spng
89 39 5 7 200.0 1.500000 36.0 spng
90 40 6 8 200.0 1.500000 36.0 spng
91 41 7 9 200.0 1.500000 36.0 spng
92 42 8 10 200.0 1.500000 36.0 spng
93 43 9 11 200.0 1.500000 36.0 spng
94 44 10 12 200.0 1.500000 36.0 spng
95 45 11 13 200.0 1.500000 36.0 spng
96 46 12 14 200.0 1.500000 36.0 spng
97 47 13 15 200.0 1.500000 36.0 spng
98 48 14 16 200.0 1.500000 36.0 spng
99 49 15 17 200.0 1.500000 36.0 spng
100 50 16 18 200.0 1.500000 36.0 spng
101 51 17 19 200.0 1.500000 36.0 spng
102 52 18 20 200.0 1.500000 36.0 spng
103 53 19 21 200.0 1.500000 36.0 spng
104 54 20 22 200.0 1.500000 36.0 spng
105 55 21 23 200.0 1.500000 36.0 spng
106 56 22 24 200.0 1.500000 36.0 spng
107 57 23 25 200.0 1.500000 36.0 spng
108 58 24 26 200.0 1.500000 36.0 spng
109 59 25 28 200.0 1.500000 36.0 spng
110 60 26 27 200.0 1.500000 36.0 spng
111 61 28 29 200.0 1.500000 36.0 spng
112 62 27 30 200.0 1.500000 36.0 spng
113 63 29 31 200.0 1.500000 36.0 spng
114 64 30 32 200.0 1.500000 36.0 spng
115 65 31 33 200.0 1.500000 36.0 spng
116 66 32 34 200.0 1.500000 36.0 spng
117 67 33 35 200.0 1.500000 36.0 spng
118 68 1 4 200.0 1.500000 53.0 spng
119 69 2 5 200.0 1.500000 54.0 spng
120 70 3 6 200.0 1.500000 54.0 spng
121 71 4 7 200.0 1.500000 54.0 spng
122 72 5 8 200.0 1.500000 54.0 spng
123 73 6 9 200.0 1.500000 54.0 spng
124 74 7 10 200.0 1.500000 54.0 spng
125 75 8 11 200.0 1.500000 54.0 spng
126 76 9 12 200.0 1.500000 54.0 spng
127 77 10 13 200.0 1.500000 54.0 spng
128 78 11 14 200.0 1.500000 54.0 spng
129 79 12 15 200.0 1.500000 54.0 spng
130 80 13 16 200.0 1.500000 54.0 spng
131 81 14 17 200.0 1.500000 54.0 spng
132 82 15 18 200.0 1.500000 54.0 spng
133 83 16 19 200.0 1.500000 54.0 spng
134 84 17 20 200.0 1.500000 54.0 spng
135 85 18 21 200.0 1.500000 54.0 spng
136 86 19 22 200.0 1.500000 54.0 spng
137 87 20 23 200.0 1.500000 54.0 spng
138 88 21 24 200.0 1.500000 54.0 spng
139 89 22 25 200.0 1.500000 54.0 spng
140 90 23 26 200.0 1.500000 54.0 spng
141 91 24 28 200.0 1.500000 54.0 spng
142 92 25 27 200.0 1.500000 54.0 spng
143 93 26 29 200.0 1.500000 54.0 spng
144 94 28 30 200.0 1.500000 54.0 spng
145 95 27 31 200.0 1.500000 54.0 spng
146 96 29 32 200.0 1.500000 54.0 spng
147 97 30 33 200.0 1.500000 54.0 spng
148 98 31 34 200.0 1.500000 54.0 spng
149 99 32 35 200.0 1.500000 50.0 spng
150
151 10
152 [
153     -400 400 random-range   -400 400 random-range   2array
154     nodes> random
155     set-node-vel
156 ]
157 times
158
159 ;
160
161 ! : go* ( quot -- )
162 !   [ [ [ springies-window* 1000 sleep % ] with-scope ] with-ui ] bake call ;
163
164 : go* ( quot -- ) '[ [ springies-window* 1000 sleep @ ] with-scope ] with-ui ;
165
166 ! : go ( -- ) [ [ springies-window* 1000 sleep model ] with-scope ] with-ui ;
167
168 : go ( -- ) [ model ] go* ;
169
170 MAIN: go