equal
deleted
inserted
replaced
85 inc(i); |
85 inc(i); |
86 stuck:= TestCollisionYwithGear(HHGear, 1) <> 0; |
86 stuck:= TestCollisionYwithGear(HHGear, 1) <> 0; |
87 if stuck then HHGear^.Y:= HHGear^.Y-_1 |
87 if stuck then HHGear^.Y:= HHGear^.Y-_1 |
88 end |
88 end |
89 until (i = 8) or not stuck; |
89 until (i = 8) or not stuck; |
|
90 HHGear^.Y:= HHGear^.Y+_1; |
90 // experiment in simulating something the shoppa players apparently expect |
91 // experiment in simulating something the shoppa players apparently expect |
91 if Gear^.Message and gmDown <> 0 then |
92 if Gear^.Message and gmDown <> 0 then |
92 begin |
93 begin |
93 //HHGear^.dY:= HHGear^.dY / 16; |
94 //HHGear^.dY:= HHGear^.dY / 16; |
94 HHGear^.dY:= _0; |
95 //HHGear^.dY.QWordValue:= 0; |
95 HHGear^.dX:= HHGear^.dX * 2 |
96 HHGear^.dY:= -_0_1; |
|
97 HHGear^.dX:= HHGear^.dX * _1_5; |
96 end; |
98 end; |
97 if Gear^.Message and gmRight <> 0 then |
99 if Gear^.Message and gmRight <> 0 then |
98 HHGear^.dX.isNegative:= false |
100 HHGear^.dX.isNegative:= false |
99 else if Gear^.Message and gmLeft <> 0 then |
101 else if Gear^.Message and gmLeft <> 0 then |
100 HHGear^.dX.isNegative:= true |
102 HHGear^.dX.isNegative:= true |
107 inc(i); |
109 inc(i); |
108 stuck:= TestCollisionYwithGear(HHGear, -1) <> 0; |
110 stuck:= TestCollisionYwithGear(HHGear, -1) <> 0; |
109 if stuck then HHGear^.Y:= HHGear^.Y+_1 |
111 if stuck then HHGear^.Y:= HHGear^.Y+_1 |
110 end |
112 end |
111 until (i = 8) or not stuck; |
113 until (i = 8) or not stuck; |
|
114 HHGear^.Y:= HHGear^.Y-_1; |
112 if Gear^.Message and gmDown <> 0 then |
115 if Gear^.Message and gmDown <> 0 then |
113 begin |
116 begin |
114 //HHGear^.dY:= HHGear^.dY / 16; |
117 //HHGear^.dY:= HHGear^.dY / 16; |
115 HHGear^.dY.QWordValue:= 0; |
118 //HHGear^.dY.QWordValue:= 0; |
116 HHGear^.dX:= HHGear^.dX * 2 |
119 HHGear^.dY:= _0_1; |
|
120 HHGear^.dX:= HHGear^.dX * _1_5; |
117 end; |
121 end; |
118 if Gear^.Message and gmRight <> 0 then |
122 if Gear^.Message and gmRight <> 0 then |
119 HHGear^.dX.isNegative:= true |
123 HHGear^.dX.isNegative:= true |
120 else if Gear^.Message and gmLeft <> 0 then |
124 else if Gear^.Message and gmLeft <> 0 then |
121 HHGear^.dX.isNegative:= false |
125 HHGear^.dX.isNegative:= false |
128 inc(i); |
132 inc(i); |
129 stuck:= TestCollisionXwithGear(HHGear, 1); |
133 stuck:= TestCollisionXwithGear(HHGear, 1); |
130 if stuck then HHGear^.X:= HHGear^.X-_1 |
134 if stuck then HHGear^.X:= HHGear^.X-_1 |
131 end |
135 end |
132 until (i = 8) or not stuck; |
136 until (i = 8) or not stuck; |
|
137 HHGear^.X:= HHGear^.X+_1; |
133 if Gear^.Message and gmDown <> 0 then |
138 if Gear^.Message and gmDown <> 0 then |
134 begin |
139 begin |
135 //HHGear^.dX:= HHGear^.dX / 16; |
140 //HHGear^.dX:= HHGear^.dX / 16; |
136 HHGear^.dX.QWordValue:= 0; |
141 //HHGear^.dX.QWordValue:= 0; |
137 HHGear^.dY:= HHGear^.dY * 2 |
142 HHGear^.dX:= -_0_1; |
|
143 HHGear^.dY:= HHGear^.dY * _1_5; |
138 end; |
144 end; |
139 if Gear^.Message and gmRight <> 0 then |
145 if Gear^.Message and gmRight <> 0 then |
140 HHGear^.dY.isNegative:= true |
146 HHGear^.dY.isNegative:= true |
141 else if Gear^.Message and gmLeft <> 0 then |
147 else if Gear^.Message and gmLeft <> 0 then |
142 HHGear^.dY.isNegative:= false |
148 HHGear^.dY.isNegative:= false |
149 inc(i); |
155 inc(i); |
150 stuck:= TestCollisionXwithGear(HHGear, -1); |
156 stuck:= TestCollisionXwithGear(HHGear, -1); |
151 if stuck then HHGear^.X:= HHGear^.X+_1 |
157 if stuck then HHGear^.X:= HHGear^.X+_1 |
152 end |
158 end |
153 until (i = 8) or not stuck; |
159 until (i = 8) or not stuck; |
|
160 HHGear^.X:= HHGear^.X-_1; |
154 if Gear^.Message and gmDown <> 0 then |
161 if Gear^.Message and gmDown <> 0 then |
155 begin |
162 begin |
156 //HHGear^.dX:= HHGear^.dX / 16; |
163 //HHGear^.dX:= HHGear^.dX / 16; |
157 HHGear^.dX.QWordValue:= 0; |
164 //HHGear^.dX.QWordValue:= 0; |
158 HHGear^.dY:= HHGear^.dY * 2 |
165 HHGear^.dX:= _0_1; |
|
166 HHGear^.dY:= HHGear^.dY * _1_5; |
159 end; |
167 end; |
160 if Gear^.Message and gmRight <> 0 then |
168 if Gear^.Message and gmRight <> 0 then |
161 HHGear^.dY.isNegative:= false |
169 HHGear^.dY.isNegative:= false |
162 else if Gear^.Message and gmLeft <> 0 then |
170 else if Gear^.Message and gmLeft <> 0 then |
163 HHGear^.dY.isNegative:= true |
171 HHGear^.dY.isNegative:= true |