movedecidethree.lst
来自「用proteus模拟仿真实现俄罗期方块游戏」· LST 代码 · 共 259 行 · 第 1/2 页
LST
259 行
C51 COMPILER V8.05a MOVEDECIDETHREE 09/08/2007 12:41:32 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE MOVEDECIDETHREE
OBJECT MODULE PLACED IN MoveDecideThree.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE sources\MoveDecideThree.c BROWSE INCDIR(.\include) DEBUG OBJECTEXTEND PRINT
-(.\MoveDecideThree.lst) OBJECT(MoveDecideThree.obj)
line level source
1 //*************************************************************************************************
2 //* *
3 //* ******************************判断方块3是否可以移动************************** *
4 //* *
5 //*************************************************************************************************
6 #include "GameGraph.h"
7 #include "GameProcess.h"
8
9
10 //*************************************************************************************************
11 //* *
12 //* ***********************************状态1判断******************************** *
13 //* *
14 //*************************************************************************************************
15 unsigned char ucDecideThreeStateOne(unsigned char ucAction)
16 {
17 1 switch(ucAction)
18 1 {
19 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以旋转>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
20 2 case ACTIONROTATE:
21 2 if(uc_BlockRow==0||uc_BlockRow==20)
22 2 return 0;
23 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+1)==0)
24 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-1)==0)
25 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine)==0)
26 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine-1)==0)
27 2 return 1;
28 2 break;
29 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向右移动>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
30 2 case ACTIONRIGHT:
31 2 if(uc_BlockLine<2||uc_BlockRow==0)
32 2 return 0;
33 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine-2)==0)
34 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-1)==0)
35 2 return 1;
36 2 break;
37 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向下移动>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
38 2 case ACTIONDOWN:
39 2 if(uc_BlockRow==20)
40 2 return 0;
41 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine)==0)
42 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine-1)==0)
43 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
44 2 return 1;
45 2 break;
46 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向左移动>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
47 2 case ACTIONLEFT:
48 2 if(uc_BlockLine>9||uc_BlockRow==0)
49 2 return 0;
50 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+2)==0)
51 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+1)==0)
52 2 return 1;
53 2 break;
54 2
C51 COMPILER V8.05a MOVEDECIDETHREE 09/08/2007 12:41:32 PAGE 2
55 2 default:break;
56 2 }
57 1 return 0;
58 1 }
59
60 //*************************************************************************************************
61 //* *
62 //* ***********************************状态2判断******************************** *
63 //* *
64 //*************************************************************************************************
65 unsigned char ucDecideThreeStateTwo(unsigned char ucAction)
66 {
67 1 switch(ucAction)
68 1 {
69 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以旋转>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
70 2 case ACTIONROTATE:
71 2 if(uc_BlockRow==0||uc_BlockLine==11)
72 2 return 0;
73 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-1)==0)
74 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine-1)==0)
75 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+1)==0)
76 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
77 2 return 1;
78 2 break;
79 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向右移动>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
80 2 case ACTIONRIGHT:
81 2 if(uc_BlockRow==0||uc_BlockLine<2)
82 2 return 0;
83 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine-2)==0)
84 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-1)==0)
85 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine-1)==0)
86 2 return 1;
87 2 break;
88 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向下移动>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
89 2 case ACTIONDOWN:
90 2 if(uc_BlockRow==19)
91 2 return 0;
92 2 if(ucReadBlock(uc_BlockRow+2,uc_BlockLine)==0)
93 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine-1)==0)
94 2 return 1;
95 2 break;
96 2 //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向左移动>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
97 2 case ACTIONLEFT:
98 2 if(uc_BlockLine>10)
99 2 return 0;
100 2 if(ucReadBlock(uc_BlockRow,uc_BlockLine+1)==0)
101 2 if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+1)==0)
102 2 if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
103 2 return 1;
104 2 break;
105 2
106 2 default:break;
107 2 }
108 1 return 0;
109 1 }
110
111 //*************************************************************************************************
112 //* *
113 //* ***********************************状态3判断******************************** *
114 //* *
115 //*************************************************************************************************
116 unsigned char ucDecideThreeStateThree(unsigned char ucAction)
C51 COMPILER V8.05a MOVEDECIDETHREE 09/08/2007 12:41:32 PAGE 3
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?