movedecidefive.lst

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

LST
238
字号
C51 COMPILER V8.05a   MOVEDECIDEFIVE                                                       09/08/2007 12:41:34 PAGE 1   


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

line level    source

   1          //*************************************************************************************************
   2          //*                                                                                                                                                                                               *
   3          //*                     ******************************判断方块5是否可以移动**************************             *
   4          //*                                                                                                                                                                                               *
   5          //*************************************************************************************************
   6          #include "GameGraph.h"
   7          #include "GameProcess.h"
   8          
   9          
  10          //*************************************************************************************************
  11          //*                                                                                                                                                                                               *
  12          //*                     *********************************状态1判断**********************************              *
  13          //*                                                                                                                                                                                               *
  14          //*************************************************************************************************
  15          unsigned char ucDecideFiveStateOne(unsigned char ucAction)
  16          {
  17   1              switch(ucAction)
  18   1                      {
  19   2                      case ACTIONROTATE:
  20   2                                      if(uc_BlockRow==0||uc_BlockRow==20)
  21   2                                              return 0;
  22   2                                      if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+1)==0)
  23   2                                              if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+2)==0)
  24   2                                                      if(ucReadBlock(uc_BlockRow+1,uc_BlockLine)==0)
  25   2                                                              if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+1)==0)
  26   2                                                                      return 1;
  27   2                                      break;
  28   2                      case ACTIONRIGHT:
  29   2                                      if(uc_BlockRow==0||uc_BlockLine==0)
  30   2                                              return 0;
  31   2                                      if(ucReadBlock(uc_BlockRow,uc_BlockLine-1)==0)
  32   2                                              if(ucReadBlock(uc_BlockRow-1,uc_BlockLine-1)==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+1,uc_BlockLine+1)==0)
  40   2                                                      if(ucReadBlock(uc_BlockRow+1,uc_BlockLine+2)==0)
  41   2                                                              return 1;
  42   2                                      break;
  43   2                      case ACTIONLEFT:
  44   2                                      if(uc_BlockRow==0||uc_BlockLine==9)
  45   2                                              return 0;
  46   2                                      if(ucReadBlock(uc_BlockRow-1,uc_BlockLine+1)==0)
  47   2                                              if(ucReadBlock(uc_BlockRow,uc_BlockLine+3)==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   MOVEDECIDEFIVE                                                       09/08/2007 12:41:34 PAGE 2   

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

⌨️ 快捷键说明

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