📄 moveblockseven.lst
字号:
C51 COMPILER V8.05a MOVEBLOCKSEVEN 09/08/2007 12:41:39 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE MOVEBLOCKSEVEN
OBJECT MODULE PLACED IN MoveBlockSeven.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE sources\MoveBlockSeven.c BROWSE INCDIR(.\include) DEBUG OBJECTEXTEND PRINT(
-.\MoveBlockSeven.lst) OBJECT(MoveBlockSeven.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 void vBlockSevenStateOne(unsigned char ucAction)
16 {
17 1 switch(ucAction)
18 1 {
19 2 case ACTIONROTATE:
20 2 vCleanBlock(uc_BlockRow,uc_BlockLine);
21 2 vCleanBlock(uc_BlockRow-1,uc_BlockLine);
22 2 vShowBlock(uc_BlockRow-2,uc_BlockLine);
23 2 vShowBlock(uc_BlockRow-1,uc_BlockLine-2);
24 2 uc_BlockRow--;
25 2 uc_BlockLine-=2;
26 2 uc_BlockState=STATETWO;
27 2 break;
28 2 case ACTIONRIGHT:
29 2 vCleanBlock(uc_BlockRow,uc_BlockLine);
30 2 vCleanBlock(uc_BlockRow-1,uc_BlockLine);
31 2 vCleanBlock(uc_BlockRow-2,uc_BlockLine-1);
32 2 vShowBlock(uc_BlockRow,uc_BlockLine-1);
33 2 vShowBlock(uc_BlockRow-1,uc_BlockLine-2);
34 2 vShowBlock(uc_BlockRow-2,uc_BlockLine-2);
35 2 uc_BlockLine--;
36 2 break;
37 2 case ACTIONDOWN:
38 2 if(uc_BlockRow!=0)
39 2 {
40 3 vCleanBlock(uc_BlockRow-1,uc_BlockLine);
41 3 if(uc_BlockRow!=1)
42 3 vCleanBlock(uc_BlockRow-2,uc_BlockLine-1);
43 3 }
44 2 vShowBlock(uc_BlockRow+1,uc_BlockLine);
45 2 vShowBlock(uc_BlockRow,uc_BlockLine-1);
46 2 uc_BlockRow++;
47 2 break;
48 2 case ACTIONLEFT:
49 2 vCleanBlock(uc_BlockRow,uc_BlockLine);
50 2 vCleanBlock(uc_BlockRow-1,uc_BlockLine-1);
51 2 vCleanBlock(uc_BlockRow-2,uc_BlockLine-1);
52 2 vShowBlock(uc_BlockRow,uc_BlockLine+1);
53 2 vShowBlock(uc_BlockRow-1,uc_BlockLine+1);
54 2 vShowBlock(uc_BlockRow-2,uc_BlockLine);
C51 COMPILER V8.05a MOVEBLOCKSEVEN 09/08/2007 12:41:39 PAGE 2
55 2 uc_BlockLine++;
56 2 break;
57 2 default:break;
58 2 }
59 1 }
60
61
62
63 //*************************************************************************************************
64 //* *
65 //* *********************************状态2移动********************************** *
66 //* *
67 //*************************************************************************************************
68 void vBlockSevenStateTwo(unsigned char ucAction)
69 {
70 1 switch(ucAction)
71 1 {
72 2 case ACTIONROTATE:
73 2 vCleanBlock(uc_BlockRow-1,uc_BlockLine+1);
74 2 vCleanBlock(uc_BlockRow-1,uc_BlockLine+2);
75 2 vShowBlock(uc_BlockRow+1,uc_BlockLine+1);
76 2 vShowBlock(uc_BlockRow-1,uc_BlockLine);
77 2 uc_BlockRow++;
78 2 uc_BlockLine++;
79 2 uc_BlockState=STATEONE;
80 2 break;
81 2 case ACTIONRIGHT:
82 2 vCleanBlock(uc_BlockRow,uc_BlockLine+1);
83 2 vCleanBlock(uc_BlockRow-1,uc_BlockLine+2);
84 2 vShowBlock(uc_BlockRow-1,uc_BlockLine);
85 2 vShowBlock(uc_BlockRow,uc_BlockLine-1);
86 2 uc_BlockLine--;
87 2 break;
88 2 case ACTIONDOWN:
89 2 if(uc_BlockRow!=0)
90 2 {
91 3 vCleanBlock(uc_BlockRow-1,uc_BlockLine+1);
92 3 vCleanBlock(uc_BlockRow-1,uc_BlockLine+2);
93 3 }
94 2 vCleanBlock(uc_BlockRow,uc_BlockLine);
95 2 vShowBlock(uc_BlockRow,uc_BlockLine+2);
96 2 vShowBlock(uc_BlockRow+1,uc_BlockLine);
97 2 vShowBlock(uc_BlockRow+1,uc_BlockLine+1);
98 2 uc_BlockRow++;
99 2 break;
100 2 case ACTIONLEFT:
101 2 vCleanBlock(uc_BlockRow,uc_BlockLine);
102 2 vCleanBlock(uc_BlockRow-1,uc_BlockLine+1);
103 2 vShowBlock(uc_BlockRow,uc_BlockLine+2);
104 2 vShowBlock(uc_BlockRow-1,uc_BlockLine+3);
105 2 uc_BlockLine++;
106 2 break;
107 2 default:break;
108 2 }
109 1 }
110
111
112 //*************************************************************************************************
113 //* *
114 //* *********************************状态分派函数******************************* *
115 //* *
116 //*************************************************************************************************
C51 COMPILER V8.05a MOVEBLOCKSEVEN 09/08/2007 12:41:39 PAGE 3
117 void vMoveBlockSeven(unsigned char ucAction)
118 {
119 1 switch(uc_BlockState)
120 1 {
121 2 case STATEONE:vBlockSevenStateOne(ucAction);break;
122 2 case STATETWO:vBlockSevenStateTwo(ucAction);break;
123 2 default:break;
124 2 }
125 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 491 ----
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 + -