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

📄 movedecideseven.lst

📁 用proteus模拟仿真实现俄罗期方块游戏
💻 LST
字号:
C51 COMPILER V8.05a   MOVEDECIDESEVEN                                                      09/08/2007 12:41:35 PAGE 1   


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

line level    source

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

  55          //*************************************************************************************************
  56          //*                                                                                                                                                                                               *
  57          //*                     *********************************状态2判断**********************************              *
  58          //*                                                                                                                                                                                               *
  59          //*************************************************************************************************
  60          unsigned char ucDecideSevenStateTwo(ucAction)
  61          {
  62   1              switch(ucAction)
  63   1                      {
  64   2                      case ACTIONROTATE:
  65   2                                      if(uc_BlockRow==0||uc_BlockRow==20)
  66   2                                              return 0;
  67   2                                      if(ucReadBlock(uc_BlockRow-1,uc_BlockLine)==0)
  68   2                                              if(ucReadBlock(uc_BlockRow+1,uc_BlockLine)==0)
  69   2                                                      if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
  70   2                                                              return 1;
  71   2                                      break;
  72   2                      case ACTIONRIGHT:
  73   2                                      if(uc_BlockRow==0||uc_BlockLine==0)
  74   2                                              return 0;
  75   2                                      if(ucReadBlock(uc_BlockRow,uc_BlockLine-1)==0)
  76   2                                              if(ucReadBlock(uc_BlockRow-1,uc_BlockLine)==0)
  77   2                                                      return 1;
  78   2                                      break;
  79   2                      case ACTIONDOWN:
  80   2                                      if(uc_BlockRow==20)
  81   2                                              return 0;
  82   2                                      if(ucReadBlock(uc_BlockRow+1,uc_BlockLine)==0)
  83   2                                              if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
  84   2                                                      if(ucReadBlock(uc_BlockRow,uc_BlockLine+2)==0)
  85   2                                                              return 1;
  86   2                                      break;
  87   2                      case ACTIONLEFT:
  88   2                                      if(uc_BlockRow==0||uc_BlockLine==9)
  89   2                                              return 0;
  90   2                                      if(ucReadBlock(uc_BlockRow,uc_BlockLine+2)==0)
  91   2                                              if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+3)==0)
  92   2                                                      return 1;
  93   2                                      break;
  94   2                      default:break;
  95   2                      }
  96   1              return 0;
  97   1      }
  98          
  99          //*************************************************************************************************
 100          //*                                                                                                                                                                                               *
 101          //*                     *********************************状态分派函数*******************************              *
 102          //*                                                                                                                                                                                               *
 103          //*************************************************************************************************
 104          unsigned char ucMoveDecideSeven(unsigned char ucAction)
 105          {
 106   1              switch(uc_BlockState)
 107   1                      {
 108   2                      case STATEONE:return ucDecideSevenStateOne(ucAction);break;
 109   2                      case STATETWO:return ucDecideSevenStateTwo(ucAction);break;
 110   2                      default:break;
 111   2                      }
 112   1              return 0;
 113   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V8.05a   MOVEDECIDESEVEN                                                      09/08/2007 12:41:35 PAGE 3   

   CODE SIZE        =    506    ----
   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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -