📄 mainform.h
字号:
//---------------------------------------------------------------------------
#ifndef MainformH
#define MainformH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Menus.hpp>
#include <ExtCtrls.hpp>
#include <ImgList.hpp>
#include <ComCtrls.hpp>
#include <Graphics.hpp>
const int g_MaxRow = 26;
const int g_MaxCol = 50;
const int g_MinRow = 9;
const int g_MinCol = 9;
const int g_MaxCount = 999;
const int g_MinCount = 10;
#define g_MaxPer 0.926
const int g_Level_1_Row = 9;
const int g_Level_1_Col = 9;
const int g_Level_1_Count = 10; //12.3 per
const int g_Level_2_Row = 16;
const int g_Level_2_Col = 16;
const int g_Level_2_Count = 40; //15.6 per
const int g_Level_3_Row = 16;
const int g_Level_3_Col = 30;
const int g_Level_3_Count = 99; //20.6 per
const int g_Level_4_Row = 26;
const int g_Level_4_Col = 50;
const int g_Level_4_Count = 210; //22 per
const int g_FaceWidth = 24;
const int g_FaceHeight = 24;
const int g_BlockWidth = 16;
const int g_BlockHeight = 16;
const int g_NumberWidth = 13;
const int g_NumberHeight = 23;
enum {
f_Smile_Down = 0,
f_Win = 1,
f_Sad = 2,
f_O = 3,
f_Smile = 4
};
enum {
b_Blank = 0,
b_Flag = 1,
b_QuestionMark = 2,
b_Exploded = 3,
b_Wrong = 4,
b_Bomb = 5,
b_QuestionMark_Down = 6,
b_Num8,b_Num7,b_Num6,b_Num5,b_Num4,b_Num3,b_Num2,b_Num1,
b_Blank_Down
};
enum {
none_Button = 0,
l_Button,
r_Button,
lr_Button
};
enum {
g_Gameover,
g_Waiting,
g_Pausing,
g_Sweeping,
g_Lost,
g_Win
};
enum {
l_Easy,
l_Middle,
l_Expert,
l_Professional,
l_Customize
};
enum status { /* for search blank ..*/
s_Default,
s_Opened,
s_Listed,
};
const TPoint DIR[9] = {
Point(-1,-1),Point(-1,0),Point(-1,+1),
Point(0,-1),Point(0,+1),
Point(+1,-1),Point(+1,0),Point(+1,+1),
Point(0,0)
};
struct _hero {
int time;
AnsiString name;
};
//---------------------------------------------------------------------------
class TMainWin : public TForm
{
__published: // IDE-managed Components
TMainMenu *MainMenu1;
TPanel *Panel_Top;
TMenuItem *N1;
TMenuItem *N2;
TPanel *Panel_Bottom;
TTimer *GameTimer;
TImage *Image_Color_Block;
TImage *Image_Gray_Block;
TImage *Image_Color_Number;
TImage *Image_Gray_Number;
TImage *Image_Color_Face;
TImage *Image_Gray_Face;
TImage *Image_Middle;
TImage *Image_Main;
TPanel *Panel_Left;
TPanel *Panel_Right;
TImage *Image_Left;
TImage *Image_Right;
TMenuItem *N11;
TMenuItem *N_Startup;
TMenuItem *N5;
TMenuItem *N_Level_Easy;
TMenuItem *N_Level_Middle;
TMenuItem *N_Level_Expert;
TMenuItem *N_Level_Professional;
TMenuItem *N_Level_Customize;
TMenuItem *N12;
TMenuItem *N_Hero;
TMenuItem *N_Quit;
TMenuItem *N15;
TMenuItem *N16;
TMenuItem *N17;
TMenuItem *N18;
TMenuItem *H1;
TMenuItem *N19;
TMenuItem *N20;
TMenuItem *N_Mark;
TMenuItem *N_Color;
TMenuItem *N_Sound;
TMenuItem *N24;
TMenuItem *N31;
void __fastcall N11Click(TObject *Sender);
void __fastcall Image_MiddleMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y);
void __fastcall Image_MiddleMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall Panel_TopMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall Panel_TopMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y);
void __fastcall Panel_TopMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall Image_LeftMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall Image_LeftMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y);
void __fastcall Image_LeftMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall Image_RightMouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y);
void __fastcall Image_RightMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y);
void __fastcall Image_RightMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall Image_MainMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall Image_MainMouseMove(TObject *Sender, TShiftState Shift,
int X, int Y);
void __fastcall Image_MainMouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y);
void __fastcall N_StartupClick(TObject *Sender);
void __fastcall FormCreate(TObject *Sender);
void __fastcall N24Click(TObject *Sender);
void __fastcall N_MarkClick(TObject *Sender);
void __fastcall N_ColorClick(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
void __fastcall N_SoundClick(TObject *Sender);
void __fastcall N_Level_EasyClick(TObject *Sender);
void __fastcall N_Level_MiddleClick(TObject *Sender);
void __fastcall N_Level_ExpertClick(TObject *Sender);
void __fastcall N_Level_ProfessionalClick(TObject *Sender);
void __fastcall N_Level_CustomizeClick(TObject *Sender);
void __fastcall GameTimerTimer(TObject *Sender);
void __fastcall N_HeroClick(TObject *Sender);
void __fastcall N31Click(TObject *Sender);
void __fastcall N_QuitClick(TObject *Sender);
void __fastcall N18Click(TObject *Sender);
void __fastcall N16Click(TObject *Sender);
void __fastcall H1Click(TObject *Sender);
void __fastcall N17Click(TObject *Sender);
/***************************************************************************/
private: // User declarations
void SetGameLevel(int level, int col=9, int row=9, int count=10);
void SetControlSize(int col, int row);
void DrawNumber(TImage *image, int num);
void DrawBlock(int col,int row,int block);
void DrawGame(int col, int row);
void ChangeFace(int face);
void GameLost();
void GameWin();
void ProcHeroName();
void SearchBlankBlock(int col, int row);
void LeftBtnDown(int col,int row);
void RightBtnDown(int col,int row);
void LeftAndRightBtnDown(int col,int row);
void LeftBtnMoveOut(int col,int row);
void LeftAndRightBtnMoveOut(int col,int row);
void LeftBtnUp(int col,int row);
void LeftAndRightBtnUp(int col,int row);
public: // User declarations
__fastcall TMainWin(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TMainWin *MainWin;
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -