📄 movedecideseven.lst
字号:
C51 COMPILER V8.05a MOVEDECIDESEVEN 09/08/2007 12:41:35 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE MOVEDECIDESEVEN
OBJECT MODULE PLACED IN MoveDecideSeven.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE sources\MoveDecideSeven.c BROWSE INCDIR(.\include) DEBUG OBJECTEXTEND PRINT
-(.\MoveDecideSeven.lst) OBJECT(MoveDecideSeven.obj)
line level source
1 //*************************************************************************************************
2 //* *
3 //* ******************************判断方块7是否可以移动************************** *
4 //* *
5 //*************************************************************************************************
6 #include "GameGraph.h"
7 #include "GameProcess.h"
8
9
10 //*************************************************************************************************
11 //* *
12 //* *********************************状态1判断********************************** *
13 //* *
14 //*************************************************************************************************
15 unsigned char ucDecideSevenStateOne(ucAction)
16 {
17 1 switch(ucAction)
18 1 {
19 2 case ACTIONROTATE:
20 2 if(uc_BlockRow<2||uc_BlockLine==1)
21 2 return 0;
22 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-2)==0)
23 2 if(ucReadBlock(uc_BlockRow-2,uc_BlockLine)==0)
24 2 if(ucReadBlock(uc_BlockRow-2,uc_BlockLine-2)==0)
25 2 return 1;
26 2 break;
27 2 case ACTIONRIGHT:
28 2 if(uc_BlockRow<2||uc_BlockLine==1)
29 2 return 0;
30 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine-1)==0)
31 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-2)==0)
32 2 if(ucReadBlock(uc_BlockRow-2,uc_BlockLine-2)==0)
33 2 return 1;
34 2 break;
35 2 case ACTIONDOWN:
36 2 if(uc_BlockRow==20)
37 2 return 0;
38 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine)==0)
39 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine-1)==0)
40 2 return 1;
41 2 break;
42 2 case ACTIONLEFT:
43 2 if(uc_BlockRow<2||uc_BlockLine==11)
44 2 return 0;
45 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+1)==0)
46 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+1)==0)
47 2 if(ucReadBlock(uc_BlockRow-2,uc_BlockLine)==0)
48 2 return 1;
49 2 break;
50 2 default:break;
51 2 }
52 1 return 0;
53 1 }
54
C51 COMPILER V8.05a MOVEDECIDESEVEN 09/08/2007 12:41:35 PAGE 2
55 //*************************************************************************************************
56 //* *
57 //* *********************************状态2判断********************************** *
58 //* *
59 //*************************************************************************************************
60 unsigned char ucDecideSevenStateTwo(ucAction)
61 {
62 1 switch(ucAction)
63 1 {
64 2 case ACTIONROTATE:
65 2 if(uc_BlockRow==0||uc_BlockRow==20)
66 2 return 0;
67 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine)==0)
68 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine)==0)
69 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
70 2 return 1;
71 2 break;
72 2 case ACTIONRIGHT:
73 2 if(uc_BlockRow==0||uc_BlockLine==0)
74 2 return 0;
75 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine-1)==0)
76 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine)==0)
77 2 return 1;
78 2 break;
79 2 case ACTIONDOWN:
80 2 if(uc_BlockRow==20)
81 2 return 0;
82 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine)==0)
83 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
84 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+2)==0)
85 2 return 1;
86 2 break;
87 2 case ACTIONLEFT:
88 2 if(uc_BlockRow==0||uc_BlockLine==9)
89 2 return 0;
90 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+2)==0)
91 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+3)==0)
92 2 return 1;
93 2 break;
94 2 default:break;
95 2 }
96 1 return 0;
97 1 }
98
99 //*************************************************************************************************
100 //* *
101 //* *********************************状态分派函数******************************* *
102 //* *
103 //*************************************************************************************************
104 unsigned char ucMoveDecideSeven(unsigned char ucAction)
105 {
106 1 switch(uc_BlockState)
107 1 {
108 2 case STATEONE:return ucDecideSevenStateOne(ucAction);break;
109 2 case STATETWO:return ucDecideSevenStateTwo(ucAction);break;
110 2 default:break;
111 2 }
112 1 return 0;
113 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V8.05a MOVEDECIDESEVEN 09/08/2007 12:41:35 PAGE 3
CODE SIZE = 506 ----
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 + -