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

📄 squaremap.h

📁 手机8032的完整代码。吐血推荐。小做改动就可以生产。
💻 H
字号:

#ifndef _SQUAREMAP_H_
#define _SQUAREMAP_H_

#ifdef _SQUARE_C_
#define SQMAP_EXTERN
#else
#define SQMAP_EXTERN extern
#endif

#ifdef OSD_GAME_TETRIS

typedef struct
{
  BYTE x;
  BYTE y;
  BYTE fgJudge:1;
  BYTE Reserved:7;
}sPos;

SQMAP_EXTERN code sPos rSquareData[][4]
#ifdef _SQUARE_C_
=
{  // minx maxx miny maxy
  {{0, 0, TRUE }, {3, 0, TRUE }, {1, 0, TRUE }, {2, 0, TRUE}},
  {{0, 1, FALSE}, {0, 2, FALSE}, {0, 0, FALSE}, {0, 3, TRUE}},  // for the long bar

  {{0, 0, TRUE }, {2, 1, TRUE }, {1, 0, FALSE}, {1, 1, TRUE}},
  {{0, 1, FALSE}, {1, 1, TRUE }, {1, 0, FALSE}, {0, 2, TRUE}},  // for the "2"

  {{0, 0, TRUE }, {1, 1, FALSE}, {1, 0, FALSE}, {1, 2, TRUE}},
  {{0, 1, TRUE }, {2, 1, TRUE }, {2, 0, FALSE}, {1, 1, TRUE}},
  {{0, 1, FALSE}, {1, 2, TRUE }, {0, 0, FALSE}, {0, 2, TRUE}},
  {{0, 0, FALSE}, {2, 0, TRUE }, {1, 0, TRUE }, {0, 1, TRUE}},  // for the "7"

  {{0, 1, TRUE }, {2, 1, TRUE }, {1, 0, FALSE}, {1, 1, TRUE}},
  {{0, 1, FALSE}, {1, 1, TRUE }, {0, 0, FALSE}, {0, 2, TRUE}},
  {{0, 0, TRUE }, {2, 0, TRUE }, {1, 0, FALSE}, {1, 1, TRUE}},
  {{0, 1, TRUE }, {1, 1, FALSE}, {1, 0, FALSE}, {1, 2, TRUE}},  // for the "T"

  {{0, 1, FALSE}, {1, 0, TRUE }, {0, 0, FALSE}, {0, 2, TRUE}},
  {{0, 0, TRUE }, {2, 0, FALSE}, {1, 0, TRUE }, {2, 1, TRUE}},
  {{0, 2, TRUE }, {1, 1, FALSE}, {1, 0, FALSE}, {1, 2, TRUE}},
  {{0, 1, TRUE }, {2, 1, TRUE }, {0, 0, FALSE}, {1, 1, TRUE}},  // for the reverse"7"

  {{0, 1, TRUE }, {2, 0, TRUE }, {1, 0, FALSE}, {1, 1, TRUE}},
  {{0, 1, TRUE }, {1, 1, FALSE}, {0, 0, FALSE}, {1, 2, TRUE}},  // for the reverse"2"

  {{0, 0, FALSE}, {1, 1, TRUE }, {1, 0, FALSE}, {0, 1, TRUE}}   // for the square
}
#endif
;

typedef struct
{
  BYTE Width;
  BYTE Height;
}sPicSize;

SQMAP_EXTERN code sPicSize rSquareSize[]
#ifdef _SQUARE_C_
=
{
  {4, 1},
  {1, 4}, // for long bar
  {3, 2},
  {2, 3}, // for "2"
  {2, 3},
  {3, 2},
  {2, 3},
  {3, 2}, // for "7"
  {3, 2},
  {2, 3},
  {3, 2},
  {2, 3}, // for "T"
  {2, 3},
  {3, 2},
  {2, 3},
  {3, 2}, // for re "7"
  {3, 2},
  {2, 3}, // for re "2"
  {2, 2}  // for square
}
#endif
;

// Score = line << (line - 1);
SQMAP_EXTERN code bScoreLine[]
#ifdef _SQUARE_C_
=
{
  0, 1, 4, 12, 32
}
#endif
;

typedef struct
{
  BYTE bTimerInterval;
  WORD wScoreThreshold;
}sGameLevel;

SQMAP_EXTERN code sGameLevel rGameLevel[] 
#ifdef _SQUARE_C_
=
{
  {50, 1000},
  {40, 2000},
  {30, 3000},
  {25, 4000},
  {20, 5000},
  {15, 6000},
  {10, 7000},
  {5,  8000}
}
#endif
;

#define GAME_SQ_GRADE_NS    8
#define GAME_SQ_GRADE_MAX   (GAME_SQ_GRADE_NS - 1)

#endif

#endif

⌨️ 快捷键说明

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