?? movedecidefour.lst
字號:
114 unsigned char ucDecideFourStateThree(unsigned char ucAction)
115 {
116 1 switch(ucAction)
C51 COMPILER V8.05a MOVEDECIDEFOUR 09/08/2007 12:41:33 PAGE 3
117 1 {
118 2 case ACTIONROTATE:
119 2 if(uc_BlockRow<2)
120 2 return 0;
121 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+1)==0)
122 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+2)==0)
123 2 if(ucReadBlock(uc_BlockRow-2,uc_BlockLine+2)==0)
124 2 if(ucReadBlock(uc_BlockRow-2,uc_BlockLine+1)==0)
125 2 return 1;
126 2 break;
127 2 case ACTIONRIGHT:
128 2 if(uc_BlockLine==0)
129 2 return 0;
130 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-1)==0)
131 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine-1)==0)
132 2 return 1;
133 2 break;
134 2 case ACTIONDOWN:
135 2 if(uc_BlockRow==20)
136 2 return 0;
137 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+1)==0)
138 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+2)==0)
139 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine)==0)
140 2 return 1;
141 2 break;
142 2 case ACTIONLEFT:
143 2 if(uc_BlockLine==9||uc_BlockRow==0)
144 2 return 0;
145 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+1)==0)
146 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+3)==0)
147 2 return 1;
148 2 break;
149 2 default:break;
150 2 }
151 1 return 0;
152 1 }
153
154
155 //*************************************************************************************************
156 //* *
157 //* *********************************狀態4判斷********************************** *
158 //* *
159 //*************************************************************************************************
160 unsigned char ucDecideFourStateFour(unsigned char ucAction)
161 {
162 1 switch(ucAction)
163 1 {
164 2 case ACTIONROTATE:
165 2 if(uc_BlockRow<2||uc_BlockLine==0)
166 2 return 0;
167 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+1)==0)
168 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-1)==0)
169 2 if(ucReadBlock(uc_BlockRow-2,uc_BlockLine-1)==0)
170 2 if(ucReadBlock(uc_BlockRow-2,uc_BlockLine+1)==0)
171 2 return 1;
172 2 break;
173 2 case ACTIONRIGHT:
174 2 if(uc_BlockRow<2||uc_BlockLine==0)
175 2 return 0;
176 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine-1)==0)
177 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-1)==0)
178 2 if(ucReadBlock(uc_BlockRow-2,uc_BlockLine-1)==0)
C51 COMPILER V8.05a MOVEDECIDEFOUR 09/08/2007 12:41:33 PAGE 4
179 2 return 1;
180 2 break;
181 2 case ACTIONDOWN:
182 2 if(uc_BlockRow==20)
183 2 return 0;
184 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
185 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine)==0)
186 2 return 1;
187 2 break;
188 2 case ACTIONLEFT:
189 2 if(uc_BlockRow<2||uc_BlockLine==10)
190 2 return 0;
191 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+2)==0)
192 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+1)==0)
193 2 if(ucReadBlock(uc_BlockRow-2,uc_BlockLine+1)==0)
194 2 return 1;
195 2 break;
196 2 default:break;
197 2 }
198 1 return 0;
199 1 }
200
201
202 //*************************************************************************************************
203 //* *
204 //* *********************************狀態分派函數******************************* *
205 //* *
206 //*************************************************************************************************
207 unsigned char ucMoveDecideFour(unsigned char ucAction)
208 {
209 1 switch(uc_BlockState)
210 1 {
211 2 case STATEONE:return ucDecideFourStateOne(ucAction);break;
212 2 case STATETWO:return ucDecideFourStateTwo(ucAction);break;
213 2 case STATETHREE:return ucDecideFourStateThree(ucAction);break;
214 2 case STATEFOUR:return ucDecideFourStateFour(ucAction);break;
215 2 default:break;
216 2 }
217 1 return 0;
218 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1028 ----
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 + -