| 
									
										
										
										
											2007-10-10 18:35:32 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | USING: kernel namespaces arrays sequences threads math math.vectors | 
					
						
							|  |  |  |        ui random bake springies springies.ui ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | IN: springies.models.2x2snake | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : model ( -- )
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | { } clone >nodes | 
					
						
							|  |  |  | { } clone >springs | 
					
						
							|  |  |  | 0.002 >time-slice | 
					
						
							|  |  |  | gravity off
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 1 147.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 2 164.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 3 182.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 4 200.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 5 218.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 6 236.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 7 254.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 8 272.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 9 290.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 10 308.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 11 326.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 12 344.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 13 362.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 14 380.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 15 398.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 16 416.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 17 434.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 18 452.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 19 470.0 324.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 20 147.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 21 164.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 22 182.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 23 200.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 24 218.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 25 236.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 26 254.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 27 272.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 28 290.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 29 308.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 30 326.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 31 344.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 32 362.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 33 380.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 34 398.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 35 416.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 36 434.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 37 452.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 38 470.0 298.0 0.0 0.0 1.0 1.0 mass | 
					
						
							|  |  |  | 1 1 2 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 2 3 2 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 3 3 4 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 4 4 5 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 5 5 6 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 6 6 7 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 7 7 8 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 8 8 9 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 9 9 10 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 10 10 11 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 11 11 12 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 12 12 13 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 13 13 14 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 14 14 15 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 15 15 16 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 16 16 17 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 17 17 18 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 18 18 19 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 19 1 3 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 20 2 4 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 21 3 5 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 22 4 6 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 23 5 7 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 24 6 8 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 25 7 9 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 26 8 10 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 27 9 11 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 28 10 12 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 29 11 13 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 30 12 14 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 31 13 15 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 32 14 16 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 33 15 17 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 34 16 18 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 35 17 19 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 36 20 21 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 37 22 21 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 38 22 23 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 39 23 24 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 40 24 25 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 41 25 26 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 42 26 27 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 43 27 28 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 44 28 29 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 45 29 30 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 46 30 31 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 47 31 32 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 48 32 33 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 49 33 34 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 50 34 35 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 51 35 36 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 52 36 37 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 53 37 38 200.0 1.500000 18.0 spng | 
					
						
							|  |  |  | 54 20 22 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 55 21 23 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 56 22 24 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 57 23 25 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 58 24 26 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 59 25 27 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 60 26 28 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 61 27 29 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 62 28 30 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 63 29 31 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 64 30 32 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 65 31 33 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 66 32 34 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 67 33 35 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 68 34 36 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 69 35 37 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 70 36 38 200.0 1.500000 36.0 spng | 
					
						
							|  |  |  | 71 1 20 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 72 2 21 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 73 3 22 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 74 4 23 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 75 5 24 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 76 25 6 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 77 7 26 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 78 27 8 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 79 9 28 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 80 29 10 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 81 11 30 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 82 31 12 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 83 13 32 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 84 33 14 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 85 15 34 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 86 35 16 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 87 17 36 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 88 37 18 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 89 19 38 200.0 1.500000 26.0 spng | 
					
						
							|  |  |  | 90 1 21 200.0 1.500000 31.064449 spng | 
					
						
							|  |  |  | 91 2 20 200.0 1.500000 31.064449 spng | 
					
						
							|  |  |  | 92 2 22 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 93 3 21 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 94 3 23 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 95 4 22 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 96 4 24 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 97 5 23 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 98 5 25 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 99 6 24 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 100 6 26 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 101 7 25 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 102 7 27 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 103 8 26 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 104 8 28 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 105 9 27 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 106 9 29 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 107 10 28 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 108 10 30 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 109 11 29 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 110 11 31 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 111 12 30 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 112 12 32 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 113 13 31 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 114 13 33 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 115 14 32 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 116 14 34 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 117 15 33 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 118 15 35 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 119 16 34 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 120 16 36 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 121 17 35 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 122 17 37 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 123 18 36 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 124 18 38 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 125 19 37 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 126 1 22 200.0 1.500000 43.600459 spng | 
					
						
							|  |  |  | 127 3 20 200.0 1.500000 43.600459 spng | 
					
						
							|  |  |  | 128 2 23 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 129 4 21 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 130 3 24 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 131 5 22 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 132 4 25 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 133 6 23 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 134 5 26 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 135 7 24 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 136 6 27 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 137 8 25 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 138 7 28 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 139 9 26 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 140 8 29 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 141 10 27 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 142 9 30 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 143 11 28 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 144 10 31 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 145 12 29 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 146 11 32 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 147 13 30 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 148 12 33 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 149 14 31 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 150 13 34 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 151 15 33 200.0 1.500000 31.622777 spng | 
					
						
							|  |  |  | 152 32 15 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 153 14 35 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 154 16 33 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 155 15 36 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 156 34 17 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 157 16 37 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 158 18 35 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 159 17 38 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 160 19 36 200.0 1.500000 44.407207 spng | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ! Send the half of the snake in a random direction | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-01-09 17:36:30 -05:00
										 |  |  | nodes> 10 [ swap nth ]      with map
 | 
					
						
							|  |  |  | nodes> 10 [ 19 + swap nth ] with map append
 | 
					
						
							| 
									
										
										
										
											2007-10-10 18:35:32 -04:00
										 |  |  | 100 random -50 +   100 random 100 + { -1 1 } random *  2array
 | 
					
						
							|  |  |  | [ swap set-node-vel ] curry
 | 
					
						
							|  |  |  | each ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : go ( -- ) [ model ] go* ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MAIN: go |