⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getmark.lst

📁 用proteus模拟仿真实现俄罗期方块游戏
💻 LST
📖 第 1 页 / 共 2 页
字号:
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 + -