?? fangkuai.lst
字號:
C51 COMPILER V8.02 FANGKUAI 11/26/2006 21:57:40 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE FANGKUAI
OBJECT MODULE PLACED IN fangkuai.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE fangkuai.c COMPACT BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "t6963c.h"
2 #include "typedef.h"
3 #include "key.h"
4
5 #define X_START 5
6 #define Y_START 0
7 #define MIN_SLOW_SPEED 300
8 #define BX_START 30
9 #define BY_START 15
10 #define Nothing 100
11
12
13 //全局數據
14 code uchar Game_Char[]={0x27,0x41,0x4d,0x45};
15 code uchar Over_Char[]={0x2f,0x56,0x45,0x52};
16
17 static uchar xx,yy; //方塊的位置
18 static uint Game_Score=0;
19 static uchar xdata Platform[14][21]; //游戲平臺數據
20 static uchar This_shape; //當前形狀
21 static uchar Next_shape=0;
22 static uint Game_Speed=MIN_SLOW_SPEED; //等級速度,正常情況,方塊下降的速度
23 static uchar Game_Stop=1;
24 static uchar Game_Level=0;
25
26 /////////////////////////////////////////////////////////////////////////////////
27 /////////////////////////////////////////////////////////////////////////////////
28 /////////方塊形狀的定義//////////////////////////////////////////////////////////
29 /////////////////////////////////////////////////////////////////////////////////
30 struct POINT{
31 uchar x;
32 uchar y;
33 };
34
35 struct SHAPE{
36 struct POINT point[4];
37 uchar next; //下一個形狀
38 }
39
40
41 xdata shape[19]={
42
43 { 1,0,0,1,1,1,2,1,1 },
44 { 1,0,1,1,2,1,1,2,2 },
45 { 0,0,1,0,2,0,1,1,3 },
46 { 1,0,0,1,1,1,1,2,0 },
47
48 { 1,0,2,0,1,1,1,2,5 },
49 { 0,0,1,0,2,0,2,1,6 },
50 { 2,0,2,1,2,2,1,2,7 },
51 { 0,0,0,1,1,1,2,1,4 },
52
53 { 1,0,2,0,2,1,2,2,9 },
54 { 2,0,0,1,1,1,2,1,10 },
55 { 1,0,1,1,1,2,2,2,11 },
C51 COMPILER V8.02 FANGKUAI 11/26/2006 21:57:40 PAGE 2
56 { 0,0,1,0,2,0,0,1,8 },
57
58 { 0,0,0,1,1,1,1,2,13 },
59 { 1,0,2,0,0,1,1,1,12 },
60
61 { 2,0,1,1,2,1,1,2,15 },
62 { 0,0,1,0,1,1,2,1,14 },
63
64 { 1,0,1,1,1,2,1,3,17 },
65 { 0,1,1,1,2,1,3,1,16 },
66
67 { 1,0,2,0,1,1,2,1,18 },
68
69 };
70
71 ////////////////////////////////////////////////////////////////////////////
72 //**************************************************************************
73 //= 函數原型:void Init_GamePlatform()
74 //= 功 能: 初始化游戲平臺
75 //= 參 數: 無
76 //= 返 回 值: 無
77 //= 函數性質:公有函數
78 //= 注 意:
79 //***************************************************************************
80 void Show_score(uchar);
81 void Init_GamePlatform()
82 {
83 1 uchar i;
84 1 uchar j;
85 1 uchar N_Hanzi;
86 1
87 1 Wr_line(1,33,13,64,1 ); //初始化游戲平臺邊界 畫游戲區域
88 1 Wr_line(1,33,14,64,1 ); //畫上橫線
89 1 Wr_line(0,33,15,100,1);
90 1 Wr_line(0,34,15,100,1); //畫左豎線
91 1 Wr_line(1,33,115,64,1);
92 1 Wr_line(1,33,116,64,1); //畫下橫線
93 1 Wr_line(0,95,15,100,1);
94 1 Wr_line(0,96,15,100,1); //畫右豎線
95 1 //--------------------------------------------------------
96 1 for(i=1;i<13;i++) //游戲平臺數據清零
97 1 {
98 2 for(j=0;j<20;j++)
99 2 {
100 3 Platform[i][j]=0;
101 3 }
102 2 }
103 1 for(i=1;i<13;i++)
104 1 {
105 2 Platform[i][20]=1; //游戲平臺最下面一行的每一個方塊位置為1,作為下邊界
106 2 }
107 1
108 1 for(j=0;j<20;j++) //游戲平臺左右方塊位置置1,作為左右邊界
109 1 {
110 2 Platform[0][j]=1;
111 2 Platform[13][j]=1;
112 2 }
113 1 //---------------------------------------------------------
114 1 N_Hanzi=0;
115 1 for(j=3;j<=12;j=j+2) //輸入“馮燕輝制作”漢字
116 1 {
117 2 hanzhi(1,j,N_Hanzi,1);
C51 COMPILER V8.02 FANGKUAI 11/26/2006 21:57:40 PAGE 3
118 2 N_Hanzi++; //指向下一個漢字
119 2 }
120 1
121 1 hanzhi(13,3,6,1); //輸入“分”漢字
122 1 hanzhi(13,8,8,1); //輸入“級”漢字
123 1
124 1 Show_score(0); //顯示初始分數
125 1 Show_num(13,11,Game_Level); //顯示初始等級水平
126 1 Game_Speed=MIN_SLOW_SPEED/(Game_Level+1); //根據水平確定速度
127 1
128 1 //------------------------------------------------------------------
129 1 Game_Score=0;
130 1 xx=X_START ;
131 1 yy=Y_START ;
132 1 }
133 ////////////////////////Init_Game/////////////////////
134 void Init_Game()
135 {
136 1 Game_Stop=1;
137 1 Init_GamePlatform();
138 1 hanzhi(7,3,9,1); //輸入“按”漢字
139 1 Show_num(7,6,7); //顯示7
140 1 hanzhi(7,8,10,1); //輸入“開”漢字
141 1 hanzhi(7,10,11,1); //輸入“始”漢字
142 1 }
143 //**************************************************************************
144 //= 函數原型:void XiaoFengKuai(uchar x,uchar y,uchar mode)
145 //= 功 能: 顯示一個小方塊
146 //= 參 數: 小方塊的橫x,堅坐標y,mode=1:顯示小方塊,mode=0:刪除小方塊
147 //= 返 回 值:
148 //= 函數性質:私有函數
149 //= 注 意:
150 //***************************************************************************
151 void XiaoFengKuai(uchar x,uchar y,bit mode)
152 {
153 1 uchar x1=5*x+BX_START; //將方塊在平臺的位置轉化成LCD的點坐標(地址轉換)
154 1 uchar y1=5*y+BY_START;
155 1 uchar i;
156 1
157 1 if(mode==1)
158 1 {
159 2
160 2 for(i=0;i<5;i++)
161 2 {
162 3 Point(x1+i,y1,1); //畫一條橫線
163 3 }
164 2
165 2
166 2 y1+=4;
167 2
168 2 for(i=0;i<5;i++)
169 2 {
170 3 Point(x1+i,y1,1); //畫第二條橫線
171 3 }
172 2
173 2 for(i=0;i<5;i++)
174 2 {
175 3 Point(x1,y1-i,1); //畫第1條堅線
176 3 }
177 2
178 2 x1+=4;
179 2
C51 COMPILER V8.02 FANGKUAI 11/26/2006 21:57:40 PAGE 4
180 2 for(i=0;i<5;i++)
181 2 {
182 3 Point(x1,y1-i,1); //畫第2條堅線
183 3 }
184 2
185 2 y1-=4;
186 2 for(i=0;i<5;i++)
187 2 {
188 3 Point(x1-i,y1+i,1); //畫斜線
189 3 }
190 2 }
191 1
192 1 else
193 1 {
194 2 for(i=0;i<5;i++)
195 2 {
196 3 Point(x1+i,y1,0); //畫一條橫線
197 3 }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -