movedecidethree.lst

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

LST
259
字号
C51 COMPILER V8.05a   MOVEDECIDETHREE                                                      09/08/2007 12:41:32 PAGE 1   


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

line level    source

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

  55   2                      default:break;
  56   2                      }
  57   1              return 0;
  58   1      }
  59          
  60          //*************************************************************************************************
  61          //*                                                                                                                                                                                               *
  62          //*                     ***********************************状态2判断********************************              *
  63          //*                                                                                                                                                                                               *
  64          //*************************************************************************************************
  65          unsigned char ucDecideThreeStateTwo(unsigned char ucAction)
  66          {
  67   1              switch(ucAction)
  68   1                      {
  69   2      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以旋转>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  70   2                      case ACTIONROTATE:
  71   2                                      if(uc_BlockRow==0||uc_BlockLine==11)
  72   2                                              return 0;
  73   2                                      if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-1)==0)
  74   2                                              if(ucReadBlock(uc_BlockRow+1,uc_BlockLine-1)==0)
  75   2                                                      if(ucReadBlock(uc_BlockRow,uc_BlockLine+1)==0)
  76   2                                                              if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
  77   2                                                                      return 1;
  78   2                                      break;
  79   2      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向右移动>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  80   2                      case ACTIONRIGHT:
  81   2                                      if(uc_BlockRow==0||uc_BlockLine<2)
  82   2                                              return 0;
  83   2                                      if(ucReadBlock(uc_BlockRow,uc_BlockLine-2)==0)
  84   2                                              if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-1)==0)
  85   2                                                      if(ucReadBlock(uc_BlockRow+1,uc_BlockLine-1)==0)
  86   2                                                              return 1;
  87   2                                      break;
  88   2      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向下移动>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  89   2                      case ACTIONDOWN:
  90   2                                      if(uc_BlockRow==19)
  91   2                                              return 0;
  92   2                                      if(ucReadBlock(uc_BlockRow+2,uc_BlockLine)==0)
  93   2                                              if(ucReadBlock(uc_BlockRow+1,uc_BlockLine-1)==0)
  94   2                                                      return 1;
  95   2                                      break;
  96   2      //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<是否可以向左移动>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  97   2                      case ACTIONLEFT:
  98   2                                      if(uc_BlockLine>10)
  99   2                                              return 0;
 100   2                                      if(ucReadBlock(uc_BlockRow,uc_BlockLine+1)==0)
 101   2                                              if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+1)==0)
 102   2                                                      if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
 103   2                                                              return 1;
 104   2                                      break;
 105   2      
 106   2                      default:break;
 107   2                      }
 108   1              return 0;
 109   1      }
 110          
 111          //*************************************************************************************************
 112          //*                                                                                                                                                                                               *
 113          //*                     ***********************************状态3判断********************************              *
 114          //*                                                                                                                                                                                               *
 115          //*************************************************************************************************
 116          unsigned char ucDecideThreeStateThree(unsigned char ucAction)
C51 COMPILER V8.05a   MOVEDECIDETHREE                                                      09/08/2007 12:41:32 PAGE 3   

⌨️ 快捷键说明

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