?? movedecidethree.lst
字號:
117 {
118 1 switch(ucAction)
119 1 {
120 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以旋轉>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
121 2 case ACTIONROTATE:
122 2 if(uc_BlockRow==0)
123 2 return 0;
124 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine-1)==0)
125 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
126 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine)==0)
127 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+1)==0)
128 2 return 1;
129 2 break;
130 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向右移動>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
131 2 case ACTIONRIGHT:
132 2 if(uc_BlockLine<2)
133 2 return 0;
134 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine-2)==0)
135 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine-1)==0)
136 2 return 1;
137 2 break;
138 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向下移動>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
139 2 case ACTIONDOWN:
140 2 if(uc_BlockRow>18)
141 2 return 0;
142 2 if(ucReadBlock(uc_BlockRow+2,uc_BlockLine)==0)
143 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine-1)==0)
144 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
145 2 return 1;
146 2 break;
147 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向左移動>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
148 2 case ACTIONLEFT:
149 2 if(uc_BlockLine>9)
150 2 return 0;
151 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+2)==0)
152 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
153 2 return 1;
154 2 break;
155 2
156 2 default:break;
157 2 }
158 1 return 0;
159 1 }
160
161 //*************************************************************************************************
162 //* *
163 //* ***********************************狀態4判斷******************************** *
164 //* *
165 //*************************************************************************************************
166 unsigned char ucDecideThreeStateFour(unsigned char ucAction)
167 {
168 1 switch(ucAction)
169 1 {
170 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以旋轉>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
171 2 case ACTIONROTATE:
172 2 if(uc_BlockRow==0||uc_BlockLine==0)
173 2 return 0;
174 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine-1)==0)
175 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
176 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-1)==0)
177 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+1)==0)
178 2 return 1;
C51 COMPILER V8.05a MOVEDECIDETHREE 09/08/2007 12:41:32 PAGE 4
179 2 break;
180 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向右移動>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
181 2 case ACTIONRIGHT:
182 2 if(uc_BlockLine<1)
183 2 return 0;
184 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine-1)==0)
185 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine-1)==0)
186 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-1)==0)
187 2 return 1;
188 2 break;
189 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向下移動>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
190 2 case ACTIONDOWN:
191 2 if(uc_BlockRow>18)
192 2 return 0;
193 2 if(ucReadBlock(uc_BlockRow+2,uc_BlockLine)==0)
194 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
195 2 return 1;
196 2 break;
197 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向左移動>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
198 2 case ACTIONLEFT:
199 2 if(uc_BlockLine>9)
200 2 return 0;
201 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+2)==0)
202 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
203 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+1)==0)
204 2 return 1;
205 2 break;
206 2
207 2 default:break;
208 2 }
209 1 return 0;
210 1 }
211
212 //*************************************************************************************************
213 //* *
214 //* ***********************************狀態分派函數***************************** *
215 //* *
216 //*************************************************************************************************
217 unsigned char ucMoveDecideThree(unsigned char ucAction)
218 {
219 1 switch(uc_BlockState)
220 1 {
221 2 case STATEONE:return ucDecideThreeStateOne(ucAction);break;
222 2 case STATETWO:return ucDecideThreeStateTwo(ucAction);break;
223 2 case STATETHREE:return ucDecideThreeStateThree(ucAction);break;
224 2 case STATEFOUR:return ucDecideThreeStateFour(ucAction);break;
225 2 default:break;
226 2 }
227 1 return 0;
228 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1031 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -