📄 getmark.lst
字号:
C51 COMPILER V8.05a GETMARK 09/08/2007 12:41:30 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE GETMARK
OBJECT MODULE PLACED IN GetMark.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE sources\GetMark.c BROWSE INCDIR(.\include) DEBUG OBJECTEXTEND PRINT(.\GetMa
-rk.lst) OBJECT(GetMark.obj)
line level source
1 //*************************************************************************************************
2 //* *
3 //* **********************************获取分数处理函数************************* *
4 //* *
5 //*************************************************************************************************
6 #include "LCD12864.h"
7 #include "GameProcess.h"
8 #include "GameGraph.h"
9
10 extern unsigned int ui_GameMark;
11
12 unsigned char uca_BlockScan[5]; //存储满行的行号。
13 unsigned char uc_ScanNumber; //存储满行行数。
14
15 //*************************************************************************************************
16 //* *
17 //* **********************************扫描指定行****************************** *
18 //* *
19 //*************************************************************************************************
20 unsigned char ucScanRow(unsigned char ucRow) //0-改行为填满;
21 { //1-改行被填满。
22 1 unsigned char ucCount;
23 1 for(ucCount=0;ucCount<12;ucCount++)
24 1 if(ucReadBlock(ucRow,ucCount)==0)
25 1 return 0;
26 1 return 1;
27 1 }
28
29
30 //*************************************************************************************************
31 //* *
32 //* **********************************扫描指定行****************************** *
33 //* *
34 //*************************************************************************************************
35 void vBlockScan() //扫描是否有填满的行,如果有则把行号存在数组里。
36 {
37 1 unsigned char ucCount;
38 1 uc_ScanNumber=0;
39 1 if(uc_BlockRow<4)
40 1 {
41 2 for(ucCount=0;ucCount<=uc_BlockRow;ucCount++)
42 2 if(ucScanRow(uc_BlockRow-ucCount+1))
43 2 {
44 3 uca_BlockScan[uc_ScanNumber++]=uc_BlockRow-ucCount+1;
45 3 }
46 2 }
47 1 else
48 1 {
49 2 if(uc_BlockRow<20)
50 2 {
51 3 for(ucCount=0;ucCount<5;ucCount++)
52 3 if(ucScanRow(uc_BlockRow+1-ucCount))
53 3 {
54 4 uca_BlockScan[uc_ScanNumber++]=uc_BlockRow-ucCount+1;
C51 COMPILER V8.05a GETMARK 09/08/2007 12:41:30 PAGE 2
55 4 }
56 3 }
57 2 else
58 2 {
59 3 for(ucCount=0;ucCount<4;ucCount++)
60 3 if(ucScanRow(uc_BlockRow-ucCount))
61 3 {
62 4 uca_BlockScan[uc_ScanNumber++]=uc_BlockRow-ucCount;
63 4 }
64 3 }
65 2 }
66 1 }
67
68
69 //*************************************************************************************************
70 //* *
71 //* **********************************清除指定行****************************** *
72 //* *
73 //*************************************************************************************************
74 void vCleanOneRow(unsigned char ucRow)
75 {
76 1 unsigned char ucCount;
77 1 for(ucCount=0;ucCount<12;ucCount++)
78 1 vCleanBlock(ucRow,ucCount);
79 1 }
80
81
82 //*************************************************************************************************
83 //* *
84 //* *****************************把改行的上一行移动到该行********************* *
85 //* *
86 //*************************************************************************************************
87 void vMoveRow(unsigned char ucRow)
88 {
89 1 unsigned char ucCount;
90 1
91 1 vCleanOneRow(ucRow);
92 1
93 1 for(ucCount=0;ucCount<12;ucCount++)
94 1 {
95 2 if(ucReadBlock(ucRow-1,ucCount)==1)
96 2 vShowBlock(ucRow,ucCount);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -