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

📄 movedecide.lst

📁 单片机的俄罗斯方块程序,含Proteus 仿真文件及详细注释
💻 LST
字号:
C51 COMPILER V8.05a   MOVEDECIDE                                                           11/06/2007 16:45:43 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE MOVEDECIDE
OBJECT MODULE PLACED IN .\Target\MoveDecide.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE sources\MoveDecide.c BROWSE INCDIR(.\include) DEBUG OBJECTEXTEND PRINT(.\LS
                    -T\MoveDecide.lst) OBJECT(.\Target\MoveDecide.obj)

line level    source

   1          //*************************************************************************************************
   2          //*                                                                                                                                                                                               *
   3          //*                      ******************************方块移动判定函数**************************                         *
   4          //*                                                                                                                                                                                               *
   5          //*************************************************************************************************
   6          #include "includes.h"
   7          
   8          unsigned char ucMoveDecide(unsigned char ucAction)
   9          {
  10   1              unsigned char ucRow=uc_BlockRow,ucLine=uc_BlockLine;   //把当前方块位置暂存。
  11   1              unsigned char ucRowOffset,ucLineOffset;                            //方块位置偏移量。
  12   1              unsigned int uiDecideMap;                                                          //方块判断位图。
  13   1      
  14   1              if(ucAction==ACTIONROTATE)
  15   1                      uiDecideMap=psta_BlockCur->uiRotateDecide;
  16   1              else
  17   1                      {
  18   2                      uiDecideMap=psta_BlockCur->uiBlockMap;
  19   2                      switch(ucAction)
  20   2                              {
  21   3                              case ACTIONLEFT:
  22   3                                              uiDecideMap=(~(0x7777&(uiDecideMap>>1)))&uiDecideMap;
  23   3                                              ucLine++;break;
  24   3                              case ACTIONRIGHT:
  25   3                                              uiDecideMap=(~(0xEEEE&(uiDecideMap<<1)))&uiDecideMap;
  26   3                                              ucLine--;break;
  27   3                              case ACTIONDOWN:
  28   3                                              uiDecideMap=(~(uiDecideMap>>4))&uiDecideMap;
  29   3                                              ucRow++;break;
  30   3                              default:break;
  31   3                              }       
  32   2                      }
  33   1              for(ucRowOffset=0;ucRowOffset<4;ucRowOffset++)
  34   1                      for(ucLineOffset=0;ucLineOffset<4;ucLineOffset++)
  35   1                              {
  36   2                              if(0x01&(unsigned char)(uiDecideMap>>(ucRowOffset*4+ucLineOffset)))
  37   2                                      {
  38   3                                      if((ucLine+ucLineOffset)<LINE(0)||(ucLine+ucLineOffset)>LINE(11)
  39   3                                              ||(ucRow+ucRowOffset)>ROW(20))
  40   3                                              return 0;
  41   3                                      if(ucReadBlock(ucRow+ucRowOffset-ROW(0),ucLine+ucLineOffset-LINE(0)))
  42   3                                              return 0;
  43   3                                      }
  44   2                              }                 
  45   1              return 1;
  46   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    270    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       6
C51 COMPILER V8.05a   MOVEDECIDE                                                           11/06/2007 16:45:43 PAGE 2   

   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 + -