moveblockone.lst

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

LST
178
字号
C51 COMPILER V8.05a   MOVEBLOCKONE                                                         09/08/2007 12:41:36 PAGE 1   


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

line level    source

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

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

 117   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine);
 118   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine+1);
 119   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine+2);
 120   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine+3);
 121   2                                      uc_BlockRow++;
 122   2                                      vBlockCreate();
 123   2                                      break;
 124   2                      case ACTIONLEFT:
 125   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine);
 126   2                                      vShowBlock(uc_BlockRow,uc_BlockLine+4);
 127   2                                      uc_BlockLine++;
 128   2                                      break;
 129   2                      default:break;
 130   2                      }
 131   1      }
 132          
 133          //*************************************************************************************************
 134          //*                                                                                                                                                                                               *
 135          //*                     ********************************状态分派函数********************************              *
 136          //*                                                                                                                                                                                               *
 137          //*************************************************************************************************
 138          void vMoveBlockOne(unsigned char ucAction)
 139          {                       
 140   1              switch(uc_BlockState)
 141   1                      {
 142   2      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<状态1处理>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 143   2                      case STATEONE:vMoveStateOne(ucAction);break;
 144   2      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<状态2处理>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 145   2                      case STATETWO:vMoveStateTwo(ucAction);break;
 146   2      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 147   2                      default:break;
 148   2                      }
 149   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    452    ----
   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 + -
显示快捷键?