?? unittetris.h
字號:
//---------------------------------------------------------------------------
#ifndef UnitTetrisH
#define UnitTetrisH
//---------------------------------------------------------------------------
#ifndef STRICT
# define STRICT
#endif
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "TetrisData.h"
#include <ExtCtrls.hpp>
#include <ActnList.hpp>
#include <Menus.hpp>
#include <AppEvnts.hpp>
#include "VictorDDraw8.h"
//---------------------------------------------------------------------------
class TFormTetris : public TForm
{
__published: // IDE-managed Components
TMainMenu *MainMenu1;
TActionList *ActionList1;
TAction *AnNew;
TAction *AnPause;
TAction *AnHScore;
TAction *AnExit;
TMenuItem *MmFile;
TMenuItem *New1;
TMenuItem *Pause1;
TMenuItem *HighScore1;
TMenuItem *Exit1;
TMenuItem *N1;
TApplicationEvents *ApplicationEvents1;
TMenuItem *H1;
TAction *AnHelp;
TAction *AnAbout;
TMenuItem *AnHelp1;
TMenuItem *AnAbout1;
TAction *AnSingle;
TMenuItem *S1;
TMenuItem *Speedset;
TMenuItem *N2;
TAction *AnSpeed;
TVictorDDraw8 *VictorDDraw81;
void __fastcall FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall AnNewExecute(TObject *Sender);
void __fastcall AnPauseExecute(TObject *Sender);
void __fastcall AnHScoreExecute(TObject *Sender);
void __fastcall AnExitExecute(TObject *Sender);
void __fastcall ApplicationEvents1Deactivate(TObject *Sender);
void __fastcall LabelHomeClick(TObject *Sender);
void __fastcall AnHelpExecute(TObject *Sender);
void __fastcall AnAboutExecute(TObject *Sender);
void __fastcall AnSingleExecute(TObject *Sender);
void __fastcall FormKeyUp(TObject *Sender, WORD &Key, TShiftState Shift);
void __fastcall AnSpeedExecute(TObject *Sender);
void __fastcall ApplicationEvents1Idle(TObject *Sender, bool &Done);
void __fastcall VictorDDraw81DispFrame(TCustomDDraw8 *Sender);
void __fastcall VictorDDraw81RestoreFrame(TCustomDDraw8 *Sender);
void __fastcall ApplicationEvents1Restore(TObject *Sender);
void __fastcall ApplicationEvents1Activate(TObject *Sender);
public:
static const NumScores = 5;
#pragma pack(push,1)
typedef struct
{
int Score;
char Name[32];
} TScoreItem;
typedef union
{
struct
{
TScoreItem Scores[NumScores];
int Speed;
};
char Buffer[512];
} TTetrisParams;
#pragma pack(pop)
private: // User declarations
__property bool Paused = { read = _bPaused, write = SetPause };
static const BlockSize=20, BlockTop=10, BlockLL=10, BlockRL=298, BlockIL=206;
bool _bPaused, _bSingle, _bGameOverL, _bGameOverR;
TBaseTetris TetrisLeft, TetrisRight;
TTetrisParams TetrisParams;
//Graphics::TBitmap *TtBmp, *PsBmp, *OvBmp, *SgBmp, *BkBmp, *KkBmp, *MaskBmp;
TDDrawSurface *TtSur, *PsSur, *OvSur, *SgSur, *BkSur;
int iSurfaceWidth, iSurfaceHeight;
bool bDisplayEnabled;
int iFrames,iFrmCnt;
char Str_L_Lines[64], Str_L_Score[64], Str_R_Lines[64], Str_R_Score[64], Str_Speed[64], Str_HighScore[64], Str_Fps[64];
int LnLeft, LnRight, _iKeyDelay;
int _iLeftDown, _iRightDown;
int _iLeftLeft, _iLeftRight;
int _iRightLeft, _iRightRight;
unsigned int nSysTimeInterval;
int nTimerMainInterval, nTimerDownInterval;
int iTimerMainC0, iTimerMainC1, iTimerDownC0, iTimerDownC1;
void __fastcall EvTimerMainTimer(void);
void __fastcall EvTimerDownTimer(void);
void __fastcall InitSurfaces(void);
void __fastcall LoadSurfaces(void);
int __fastcall GetInitSpeed(void);
void __fastcall SetInitSpeed(int iSpd);
int __fastcall GetInitBackground(void); //
void __fastcall SetInitBackground(int iBkg); //
void __fastcall SetPause(bool);
void __fastcall CheckGameStatus(void);
void __fastcall RefreshDisplay(void);
bool __fastcall TestKeyDown(int &iKey);
void __fastcall DrawTetris(TDDrawDisplay *lpDisplay, TBaseTetris *lpTetris, int x0, int y0, bool bPlaySingle);
void __fastcall DrawIncoming(TDDrawDisplay *lpDisplay, TBaseTetris *lpTetris, int x0, int y0);
void LoadParams(void);
void SaveParams(void);
void GetPlayerName(char *lpName);
void ShowHighScores(void);
public: // User declarations
__fastcall TFormTetris(TComponent* Owner);
__fastcall ~TFormTetris();
__property int InitSpeed = { read = GetInitSpeed, write = SetInitSpeed };
__property int InitBackground = { read = GetInitBackground, write = SetInitBackground };//
protected:
void __fastcall WndProc(Messages::TMessage &Message);
};
//---------------------------------------------------------------------------
extern PACKAGE TFormTetris *FormTetris;
//---------------------------------------------------------------------------
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -