moveblockthree.lst

来自「用proteus模拟仿真实现俄罗期方块游戏」· LST 代码 · 共 234 行 · 第 1/2 页

LST
234 行
字号
 106   1              switch(ucAction)
 107   1                      {
 108   2                      case ACTIONROTATE:
 109   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine-1);
 110   2                                      vShowBlock(uc_BlockRow-1,uc_BlockLine);
 111   2                                      uc_BlockState=STATEFOUR;
 112   2                                      break;
 113   2                      case ACTIONRIGHT:
 114   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine+1);
 115   2                                      vCleanBlock(uc_BlockRow+1,uc_BlockLine);
 116   2                                      vShowBlock(uc_BlockRow,uc_BlockLine-2);
C51 COMPILER V8.05a   MOVEBLOCKTHREE                                                       09/08/2007 12:41:37 PAGE 3   

 117   2                                      vShowBlock(uc_BlockRow+1,uc_BlockLine-1);
 118   2                                      uc_BlockLine--;
 119   2                                      break;
 120   2                      case ACTIONDOWN:
 121   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine);
 122   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine+1);
 123   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine-1);
 124   2                                      vShowBlock(uc_BlockRow+1,uc_BlockLine+1);
 125   2                                      vShowBlock(uc_BlockRow+1,uc_BlockLine-1);
 126   2                                      vShowBlock(uc_BlockRow+2,uc_BlockLine);
 127   2                                      uc_BlockRow++;
 128   2                                      break;
 129   2                      case ACTIONLEFT:
 130   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine-1);
 131   2                                      vCleanBlock(uc_BlockRow+1,uc_BlockLine);
 132   2                                      vShowBlock(uc_BlockRow,uc_BlockLine+2);
 133   2                                      vShowBlock(uc_BlockRow+1,uc_BlockLine+1);
 134   2                                      uc_BlockLine++;
 135   2                                      break;
 136   2                      default:break;
 137   2                      }
 138   1      }
 139          
 140          
 141          
 142          //*************************************************************************************************
 143          //*                                                                                                                                                                                               *
 144          //*                     ***********************************状态4移动********************************              *
 145          //*                                                                                                                                                                                               *
 146          //*************************************************************************************************
 147          void vMoveThreeStateFour(unsigned char ucAction)
 148          {
 149   1              switch(ucAction)
 150   1                      {
 151   2                      case ACTIONROTATE:
 152   2                                      vCleanBlock(uc_BlockRow+1,uc_BlockLine);
 153   2                                      vShowBlock(uc_BlockRow,uc_BlockLine-1);
 154   2                                      uc_BlockState=STATEONE;
 155   2                                      break;
 156   2                      case ACTIONRIGHT:
 157   2                                      vCleanBlock(uc_BlockRow+1,uc_BlockLine);
 158   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine+1);
 159   2                                      vCleanBlock(uc_BlockRow-1,uc_BlockLine);
 160   2                                      vShowBlock(uc_BlockRow,uc_BlockLine-1);
 161   2                                      vShowBlock(uc_BlockRow-1,uc_BlockLine-1);
 162   2                                      vShowBlock(uc_BlockRow+1,uc_BlockLine-1);
 163   2                                      uc_BlockLine--;
 164   2                                      break;
 165   2                      case ACTIONDOWN:
 166   2                                      if(uc_BlockRow>0)
 167   2                                              vCleanBlock(uc_BlockRow-1,uc_BlockLine);
 168   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine+1);
 169   2                                      vShowBlock(uc_BlockRow+2,uc_BlockLine);
 170   2                                      vShowBlock(uc_BlockRow+1,uc_BlockLine+1);
 171   2                                      uc_BlockRow++;
 172   2                                      break;
 173   2                      case ACTIONLEFT:
 174   2                                      vCleanBlock(uc_BlockRow+1,uc_BlockLine);
 175   2                                      vCleanBlock(uc_BlockRow,uc_BlockLine);
 176   2                                      vCleanBlock(uc_BlockRow-1,uc_BlockLine);
 177   2                                      vShowBlock(uc_BlockRow,uc_BlockLine+2);
 178   2                                      vShowBlock(uc_BlockRow-1,uc_BlockLine+1);
C51 COMPILER V8.05a   MOVEBLOCKTHREE                                                       09/08/2007 12:41:37 PAGE 4   

 179   2                                      vShowBlock(uc_BlockRow+1,uc_BlockLine+1);
 180   2                                      uc_BlockLine++;
 181   2                                      break;
 182   2                      default:break;
 183   2                      }
 184   1      }
 185          
 186          
 187          
 188          //*************************************************************************************************
 189          //*                                                                                                                                                                                               *
 190          //*                     ***********************************状态分派函数*****************************              *
 191          //*                                                                                                                                                                                               *
 192          //*************************************************************************************************
 193          void vMoveBlockThree(unsigned char ucAction)
 194          {
 195   1              switch(uc_BlockState)
 196   1                      {
 197   2                      case STATEONE:vMoveThreeStateOne(ucAction);break;
 198   2                      case STATETWO:vMoveThreeStateTwo(ucAction);break;
 199   2                      case STATETHREE:vMoveThreeStateThree(ucAction);break;
 200   2                      case STATEFOUR:vMoveThreeStateFour(ucAction);break;
 201   2                      default:break;
 202   2                      }
 203   1      }


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