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