?? unit1.~h
字號:
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include <Graphics.hpp>
#include <Menus.hpp>
// 宏變量:白色、黑色和藍色
#define WHITE RGB(255,255,255)
#define BLACK RGB(0,0,0)
#define BLUE RGB(0,0,255)
//左移,右移、上升和下降宏定義
#define LEFT 0
#define RIGHT 1
#define UP 2
#define DOWN 3
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TImage *Image2;
TTimer *Timer1;
TMainMenu *MainMenu1;
TMenuItem *N1;
TMenuItem *N2;
TMenuItem *N3;
TMenuItem *N4;
TMenuItem *N5;
TMenuItem *N6;
TMenuItem *N7;
TMenuItem *N8;
TMenuItem *N9;
TMenuItem *N10;
TMenuItem *N11;
TMenuItem *N12;
TMenuItem *N13;
TMenuItem *N12101;
TMenuItem *N18151;
TMenuItem *N24201;
TMenuItem *N30251;
TMenuItem *N14;
TMenuItem *N15;
TMenuItem *N16;
TMenuItem *N17;
TMenuItem *N18;
TMenuItem *N19;
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormPaint(TObject *Sender);
void __fastcall Timer1Timer(TObject *Sender);
void __fastcall FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall N2Click(TObject *Sender);
void __fastcall N3Click(TObject *Sender);
void __fastcall N4Click(TObject *Sender);
void __fastcall N12Click(TObject *Sender);
void __fastcall N12101Click(TObject *Sender);
void __fastcall N18151Click(TObject *Sender);
void __fastcall N24201Click(TObject *Sender);
void __fastcall N30251Click(TObject *Sender);
void __fastcall N14Click(TObject *Sender);
void __fastcall N15Click(TObject *Sender);
void __fastcall N16Click(TObject *Sender);
void __fastcall N17Click(TObject *Sender);
void __fastcall N18Click(TObject *Sender);
void __fastcall N19Click(TObject *Sender);
void __fastcall N11Click(TObject *Sender);
void __fastcall N10Click(TObject *Sender);
private: // User declarations
protected:
//列與行的數量
int m_iCol;
int m_iRow;
//小方塊的大小,它會隨著行與列的不同而不同,具體為:
// 12行10列,30個象素的正方形
// 18行15列,20個象素的正方形
// 24行20列,15個象素的正方形
// 30行25列,12個象素的正方形
int m_iLarge;
//當前的級別,換算成速度的算法為:1500 - m_iLevel*200
int m_iLevel;
//游戲區域左上角的坐標
int m_iStartX;
int m_iStartY;
void RectChange();
BOOL RightIsLimit();
BOOL LeftIsLimit();
//各種不同形狀方塊的接觸面,接觸面是指這樣的小方塊:它下面如果有另外的方塊則表示
//此方塊已到底。
//此數組記錄了這些接觸面在當前方塊動態位置數組中的元素號
int InterFace[74][4];
//當前的方塊形狀
int m_currentRect;
//判斷當前方塊是否到底
void ActiveIsBottom();
//當前方塊下降
void RectDown();
//當前方塊加速:UP,左移:LEFT,右移:RIGHT
void RectArrow(int m_Type);
//將一方塊初始樣式數據賦給當前方塊動態位置數組以及下一次將要出來的方塊的位置數組
void RectStatusToActiveStatus(int m_which);
void RectStatusToNextStatus(int m_which);
void ActiveStatusToGameStatus();
int Random(int MaxNumber);
//標識方塊已到底的變量,到底為TRUE
BOOL m_isBottom;
//用于標志方塊狀態的數組,大小由橫格與豎格數據決定,為1表示該方塊顯示,或者不顯示
//畫形狀只需要修改數組中相應元素的狀態值即可
//由時鐘控制,定時在OnPaint函數中根據數組畫方塊
int GameStatus[100][100];
//用于保存當前方塊的動態位置,4個小方塊分別在大數組中的位置
//存放位置為先左后右,每一列又遵循先上后下的原則
int ActiveStatus[4][2];
//存入下一次要出來的方塊的模樣的數組
int NextStatus[4][2];
// Generated message map functions
protected:
BOOL m_bGamePaush;
void StopMid();
void PlayMid();
void CurrentAreaAndLevel();
//用于記錄當前區域大小與當前級別的字符串,用于顯示在屏幕上提示用戶當前狀態
AnsiString m_strArea;
AnsiString m_strLevel;
//當前的樣式與下一個將會出現的樣式
int m_icurrentStatus;
int m_inextStatus;
//OnDraw中需要用到的設備名稱
TPen *whitePen;
TPen *blackPen;
TPen *redPen;
TBrush *blueBrush,*grayBrush,*blackBrush;
//是否畫網格線
BOOL m_bDrawGrid;
//是否插放背景音樂
BOOL m_bMusic;
//游戲總成績
int m_iPerformance;
//游戲是否已結束,為FALSE表示開始,否則為結束
BOOL m_bGameEnd;
//刷新指定的區域,它的大小為:四個小方塊所在的正方形的大小
void InvalidateCurrent();
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -