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

📄 game.lst

📁 Maria2 CarTV 20060707 Tony
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V8.01   GAME                                                                  11/28/2006 08:08:06 PAGE 1   


C51 COMPILER V8.01, COMPILATION OF MODULE GAME
OBJECT MODULE PLACED IN ..\..\1out\Game.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\..\msFunc\Game.c BROWSE INCDIR(..\..\inc;..\..\mslib;..\..\Device;..\..\
                    -kernal;..\..\msFunc;..\..\pc;..\..\tv) DEBUG OBJECTEXTEND PRINT(..\..\1out\Game.lst) OBJECT(..\..\1out\Game.obj)

line level    source

   1          
   2          #define  _GAME_C_
   3          #include <stdlib.h>
   4          #include "types.h"
   5          #include "board.h"
   6          #include "global.h"
   7          #include "keypaddef.h"
   8          #include "menu.h"
   9          #include "adjust.h"
  10          #include "ms_reg.h"
  11          #include "msosd.h"
  12          #include "power.h"
  13          #include "misc.h"
  14          #include "autofunc.h"
  15          #include "nvram.h"
  16          #include "userpref.h"
  17          #include "panel.h"
  18          #include "mstar.h"
*** WARNING C322 IN LINE 93 OF ..\..\INC\MSTAR.H: unknown identifier
  19          #include "ms_rwreg.h"
  20          #include "adjust.h"
  21          #include "mcu.h"
  22          #include "menustr.h"
  23          #include "msAce.h"
  24          #include "menufunc.h"
  25          #include "Game.h"
  26          #include "keypad.h"
  27          #include "menustr.h"
  28          #include "debug.h"
  29          #if GAME_ENABLE
              
              /********************定义全局变量*****************************/
              XDATA BYTE Game_gridMatrix[MaxColume][MaxLine];/*网格数组,0表示该格无方块,1则有运动方块,2则有静止方块*/
              XDATA BYTE TempMatrix[3][3];
              XDATA WORD Score;
              /**************************定义每种方块的形状***********************************/
              BYTE code Game_I_SHAPE1[3][3]=  {0,1,0,
                                                                             0,1,0,
                                                                              0,1,0
                                                                             }; //*
              BYTE code Game_I_SHAPE2[3][3]={0,0,0,
                                                                             1,1,1,
                                                                              0,0,0
                                                                           };
              BYTE code Game_O_SHAPE[3][3]= {0,0,0,
                                                                             0,1,1,
                                                                              0,1,1
                                                                           };
              BYTE code Game_SO_SHAPE[3][3]= {0,0,0,
                                                                             0,0,0,
                                                                              0,0,1
                                                                             };
              BYTE code Game_T_SHAPE1[3][3]={
                                                                              0,0,0,
C51 COMPILER V8.01   GAME                                                                  11/28/2006 08:08:06 PAGE 2   

                                                                              1,1,1,
                                                                             0,1,0
                                                                           };
              BYTE code Game_T_SHAPE2[3][3]={0,1,0,
                                                                             1,1,0,
                                                                              0,1,0
                                                                           };
              BYTE code Game_T_SHAPE3[3][3]={0,1,0,
                                                                             1,1,1,
                                                                              0,0,0
                                                                           };
              BYTE code Game_T_SHAPE4[3][3]={0,1,0,
                                                                             0,1,1,
                                                                              0,1,0
                                                                           };
              BYTE code Game_L_SHAPE1[3][3]={0,1,0,
                                                                             0,1,0,
                                                                              0,1,1
                                                                           };
              BYTE code Game_L_SHAPE2[3][3]={0,0,0,
                                                                             1,1,1,
                                                                              1,0,0
                                                                           };
              BYTE code Game_L_SHAPE3[3][3]={1,1,0,
                                                                             0,1,0,
                                                                              0,1,0
                                                                           };
              BYTE code Game_L_SHAPE4[3][3]={0,0,1,
                                                                             1,1,1,
                                                                              0,0,0
                                                                           };
              BYTE code Game_Z_SHAPE1[3][3]={1,0,0,
                                                                             0,1,0,
                                                                              0,0,0
                                                                           };
              BYTE code Game_Z_SHAPE2[3][3]={0,1,0,
                                                                             1,0,0,
                                                                              0,0,0
                                                                           };
              //=======================================================================
              void Game_MenuExec(void)
              {
               BYTE i,j;
              
                  Osd_SetTextColor(CP_BlueColor, CP_TransparenceColor);
                  for(i=0;i<=MaxColume+10;i++)
                              for(j=MinLine;j<MinLine+2;j++)
                                      Osd_DrawStr(i,j,"\x089");
              
                  Osd_SetTextColor(CP_BlackColor, CP_TransparenceColor);
                  for(i=0;i<=MaxColume;i++)
                              for(j=MinLine+2;j<MaxLine;j++)
                                      Osd_DrawStr(i,j,"\x089");
              
                  Osd_SetTextColor(CP_YellowColor, CP_BlackColor);
                   i=MinColume-1;
                              for(j=MinLine+2;j<MaxLine;j++)
                                      Osd_DrawStr(i,j,"\x08A");
                   i=MaxColume;
                              for(j=MinLine+2;j<MaxLine;j++)
                                      Osd_DrawStr(i,j,"\x08A");
              
C51 COMPILER V8.01   GAME                                                                  11/28/2006 08:08:06 PAGE 3   

                  Osd_SetTextColor(CP_GreenColor, CP_SeaBlueColor);
                  Osd_DrawStr(MaxColume+1,MinLine+2,"  TETRIS  ");
                  Osd_SetTextColor(CP_YellowColor, CP_SeaBlueColor);
                  Osd_DrawStr(MaxColume+1,MaxLine-5,"CH    TURN");
                  Osd_DrawStr(MaxColume+3,MaxLine-5,"\x08B");
                  Osd_DrawStr(MaxColume+1,MaxLine-4,"CH    DOWN");
                  Osd_DrawStr(MaxColume+3,MaxLine-4,"\x08C");
                  Osd_DrawStr(MaxColume+1,MaxLine-3,"VOL-: LEFT");
                  Osd_DrawStr(MaxColume+1,MaxLine-2,"VOL :RIGHT");
                  Osd_DrawStr(MaxColume+4,MaxLine-2,"\x08D");
                  Osd_DrawStr(MaxColume+1,MaxLine-1,"POWER:EXIT");
              
                  Osd_SetTextColor(CP_PinkColor, CP_SeaBlueColor);
                   for(i=MaxColume+1;i<MaxColume+11;i++)
                              for(j=MinLine+3;j<MinLine+7;j++)
                                      Osd_DrawStr(i,j,"\x089");
              
                  Osd_SetTextColor(CP_RedColor, CP_PinkColor);
                   Osd_DrawStr(MaxColume+4,MinLine+3,"NEXT");
              
                  Osd_SetTextColor(CP_YellowColor, CP_RedColor);
                   Osd_DrawStr(MaxColume+1,MaxLine-6,"SCORE     ");
              
                 Game_draw_score();
              }
              
              void Game_draw_score(void)
              {
              
              BYTE GameNum0,GameNum1,GameNum2;
                      if(Score>999)
                                      Score=999;
              
                      GameNum0=Score/100;
                      GameNum1=(Score%100)/10;
                      GameNum2=Score%10;
              
                      Osd_SetTextColor(CP_YellowColor, CP_RedColor);
                      DrawNum(MaxColume+7,MaxLine-6,1,GameNum0);
                      DrawNum(MaxColume+8,MaxLine-6,1,GameNum1);
                      DrawNum(MaxColume+9,MaxLine-6,1,GameNum2);
              
              }
              
              void Game_draw_next(Gameblock drblock)
              {
              BYTE i,j;
              
                    Game_get_matrix(drblock);
              
                    Osd_SetTextColor(CP_RedColor, CP_PinkColor);
              
                         for(i=0;i<3;i++)
                              for(j=0;j<3;j++)
                              {
                                      Osd_DrawStr(MaxColume+4+i,MinLine+4+j,"\x088");
                              }
              
                    Osd_SetTextColor(drblock.color, CP_PinkColor);
              
                         for(i=0;i<3;i++)
                              for(j=0;j<3;j++)
C51 COMPILER V8.01   GAME                                                                  11/28/2006 08:08:06 PAGE 4   

                              {
                                      if(TempMatrix[i][j]==1)
                                                      Osd_DrawStr(MaxColume+4+i,MinLine+4+j,"\x087");
                              }
              
              }
              
              void Game_restart(void)
              {
              BYTE i,j;
              
                          Osd_SetTextColor(CP_SeaBlueColor, CP_SeaBlueColor);
                          for(i=MinColume;i<MaxColume;i++)
                              for(j=MinLine+2;j<MaxLine;j++)
                                      Osd_DrawStr(i,j,"\x089");
              
                          Osd_SetTextColor(CP_YellowColor, CP_SeaBlueColor);
                          Osd_DrawStr(MinColume-1,MaxLine-6,"Game Over");
              }
              
              void Game_copy_matrix(BYTE Copy[3][3], BYTE Result[3][3])
              {
                      BYTE i,j;
              
                          for(i=0;i<3;i++)
                              for(j=0;j<3;j++)
                              {
                              Result[i][j]=Copy[i][j];
                              }
              }
              
              
              void Game_get_matrix(Gameblock nblock)
              {
                switch(nblock.type)
                {
                case CP_Gameblock_I:
                       if(nblock.shape==1)
                              Game_copy_matrix(Game_I_SHAPE1,TempMatrix);
                      if(nblock.shape==2)
                              Game_copy_matrix(Game_I_SHAPE2,TempMatrix);
                break;
              
                case CP_Gameblock_O:
                              Game_copy_matrix(Game_O_SHAPE,TempMatrix);
                break;
              
                case CP_Gameblock_SO:
                              Game_copy_matrix(Game_SO_SHAPE,TempMatrix);
                break;
              
                case CP_Gameblock_T:
                      switch(nblock.shape)
                    {
                      case(1):
                              Game_copy_matrix(Game_T_SHAPE1,TempMatrix);
                     break;
                    case(2):
                              Game_copy_matrix(Game_T_SHAPE2,TempMatrix);
                      break;
                     case(3):
                              Game_copy_matrix(Game_T_SHAPE3,TempMatrix);
C51 COMPILER V8.01   GAME                                                                  11/28/2006 08:08:06 PAGE 5   

                              break;
                     case(4):
                              Game_copy_matrix(Game_T_SHAPE4,TempMatrix);
                              break;
                      default:
                              break;
                    }
                    break;
              
                case CP_Gameblock_L:
                      switch(nblock.shape)
                    {
                      case(1):
                              Game_copy_matrix(Game_L_SHAPE1,TempMatrix);
                     break;
                    case(2):
                              Game_copy_matrix(Game_L_SHAPE2,TempMatrix);
                      break;
                     case(3):
                              Game_copy_matrix(Game_L_SHAPE3,TempMatrix);
                              break;
                     case(4):
                              Game_copy_matrix(Game_L_SHAPE4,TempMatrix);
                              break;
                      default:
                              break;
                    }
                    break;
              
                 case CP_Gameblock_Z:
                       if(nblock.shape==1)

⌨️ 快捷键说明

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