moveblocksix.lst

来自「用proteus模拟仿真实现俄罗期方块游戏」· LST 代码 · 共 153 行

LST
153
字号
C51 COMPILER V8.05a   MOVEBLOCKSIX                                                         09/08/2007 12:41:39 PAGE 1   


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

line level    source

   1          //*************************************************************************************************
   2          //*                                                                                                                                                                                               *
   3          //*                      ********************************移动方块6********************************                        *
   4          //*                                                                                                                                                                                               *
   5          //*************************************************************************************************
   6          #include "GameGraph.h"
   7          #include "GameProcess.h"
   8          
   9          //*************************************************************************************************
  10          //*                                                                                                                                                                                               *
  11          //*                     *********************************状态1移动**********************************              *
  12          //*                                                                                                                                                                                               *
  13          //*************************************************************************************************
  14          void vBlockSixStateOne(unsigned char ucAction)
  15          {
  16   1              switch(ucAction)
  17   1                      {
  18   2                      case ACTIONROTATE:
  19   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine);
  20   2                                      vCleanBlock(uc_BlockRow-2,uc_BlockLine+1);
  21   2                                      vShowBlock(uc_BlockRow-2,uc_BlockLine);
  22   2                                      vShowBlock(uc_BlockRow-2,uc_BlockLine-1);
  23   2                                      uc_BlockRow--;
  24   2                                      uc_BlockState=STATETWO;
  25   2                                      break;
  26   2                      case ACTIONRIGHT:
  27   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine);
  28   2                                      vCleanBlock(uc_BlockRow-1,uc_BlockLine+1);
  29   2                                      vCleanBlock(uc_BlockRow-2,uc_BlockLine+1);
  30   2                                      vShowBlock(uc_BlockRow,uc_BlockLine-1);
  31   2                                      vShowBlock(uc_BlockRow-1,uc_BlockLine-1);
  32   2                                      vShowBlock(uc_BlockRow-2,uc_BlockLine);
  33   2                                      uc_BlockLine--;
  34   2                                      break;
  35   2                      case ACTIONDOWN:
  36   2                                      if(uc_BlockRow!=0)
  37   2                                              {
  38   3                                              vCleanBlock(uc_BlockRow-1,uc_BlockLine);
  39   3                                              if(uc_BlockRow!=1)
  40   3                                                      vCleanBlock(uc_BlockRow-2,uc_BlockLine+1);
  41   3                                              }
  42   2                                      vShowBlock(uc_BlockRow,uc_BlockLine+1);
  43   2                                      vShowBlock(uc_BlockRow+1,uc_BlockLine);
  44   2                                      uc_BlockRow++;
  45   2                                      break;
  46   2                      case ACTIONLEFT:
  47   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine);
  48   2                                      vCleanBlock(uc_BlockRow-1,uc_BlockLine);
  49   2                                      vCleanBlock(uc_BlockRow-2,uc_BlockLine+1);
  50   2                                      vShowBlock(uc_BlockRow,uc_BlockLine+1);
  51   2                                      vShowBlock(uc_BlockRow-1,uc_BlockLine+2);
  52   2                                      vShowBlock(uc_BlockRow-2,uc_BlockLine+2);
  53   2                                      uc_BlockLine++;
  54   2                                      break;
C51 COMPILER V8.05a   MOVEBLOCKSIX                                                         09/08/2007 12:41:39 PAGE 2   

  55   2                      default:break;
  56   2                      }
  57   1      }
  58          
  59          
  60          
  61          //*************************************************************************************************
  62          //*                                                                                                                                                                                               *
  63          //*                     *********************************状态2移动**********************************              *
  64          //*                                                                                                                                                                                               *
  65          //*************************************************************************************************
  66          void vBlockSixStateTwo(unsigned char ucAction)
  67          {
  68   1              switch(ucAction)
  69   1                      {
  70   2                      case ACTIONROTATE:
  71   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine+1);
  72   2                                      vCleanBlock(uc_BlockRow-1,uc_BlockLine-1);
  73   2                                      vShowBlock(uc_BlockRow,uc_BlockLine-1);
  74   2                                      vShowBlock(uc_BlockRow+1,uc_BlockLine-1);
  75   2                                      uc_BlockState=STATEONE;
  76   2                                      uc_BlockRow++;
  77   2                                      uc_BlockLine--;
  78   2                                      break;
  79   2                      case ACTIONRIGHT:
  80   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine+1);
  81   2                                      vCleanBlock(uc_BlockRow-1,uc_BlockLine);
  82   2                                      vShowBlock(uc_BlockRow,uc_BlockLine-1);
  83   2                                      vShowBlock(uc_BlockRow-1,uc_BlockLine-2);
  84   2                                      uc_BlockLine--;
  85   2                                      break;
  86   2                      case ACTIONDOWN:
  87   2                                      if(uc_BlockRow!=0)
  88   2                                              {
  89   3                                              vCleanBlock(uc_BlockRow-1,uc_BlockLine);
  90   3                                              vCleanBlock(uc_BlockRow-1,uc_BlockLine-1);
  91   3                                              }
  92   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine+1);
  93   2                                      vShowBlock(uc_BlockRow,uc_BlockLine-1);
  94   2                                      vShowBlock(uc_BlockRow+1,uc_BlockLine);
  95   2                                      vShowBlock(uc_BlockRow+1,uc_BlockLine+1);
  96   2                                      uc_BlockRow++;
  97   2                                      break;
  98   2                      case ACTIONLEFT:
  99   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine);
 100   2                                      vCleanBlock(uc_BlockRow-1,uc_BlockLine-1);
 101   2                                      vShowBlock(uc_BlockRow,uc_BlockLine+2);
 102   2                                      vShowBlock(uc_BlockRow-1,uc_BlockLine+1);
 103   2                                      uc_BlockLine++;
 104   2                                      break;
 105   2                      default:break;
 106   2                      }
 107   1      }
 108          
 109          
 110          
 111          //*************************************************************************************************
 112          //*                                                                                                                                                                                               *
 113          //*                     *********************************状态分派函数*******************************              *
 114          //*                                                                                                                                                                                               *
 115          //*************************************************************************************************
 116          void vMoveBlockSix(unsigned char ucAction)
C51 COMPILER V8.05a   MOVEBLOCKSIX                                                         09/08/2007 12:41:39 PAGE 3   

 117          {
 118   1              switch(uc_BlockState)
 119   1              {
 120   2              case STATEONE:vBlockSixStateOne(ucAction);break;
 121   2              case STATETWO:vBlockSixStateTwo(ucAction);break;
 122   2              default:break;
 123   2              }
 124   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    481    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?