📄 unit1.h
字号:
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Buttons.hpp>
#include <ExtCtrls.hpp>
#include <Menus.hpp>
#include <Graphics.hpp>
#include <jpeg.hpp>
#include <Dialogs.hpp>
#include <ExtDlgs.hpp>
#include <MPlayer.hpp>
#include <inifiles.hpp>
#include <mmsystem.h>
//---------------------------------------------------------------------------
const int NormalWidth= 14,
NormalHeight=14,
SmallWidth= 9,
SmallHeight=9,
Tp= 6,
Lft= 5,
FieldWidth=4,
MaxObjectColor= 7,
GlassWidth=10,
GlassHeight=23;
const TColor Colors[7]={clSilver,clRed,clLime,clBlue,
clFuchsia,clAqua,clYellow};
const AnsiString IniFileName="Tetris.ini";
const char *Tetris[21]={ "22233233--22233233--22233233--22233233--",
"12212223--12212232--21222332--12222332--",
"13222332--21223233--13222332--21223233--",
"12222333--22233132--12222333--22233132--",
"12223233--23313233--22233343--22232432--",
"13233233--21222333--22233242--22323334--",
"13233343--21222324--13233343--21222324--",
"22223232--32323333--33332323--23232222--",
"22222332--32322233--33333223--23232233--",
"12123232--21212323--12123232--21212323--",
"12222232--21222223--12222232--21222223--",
"22223333--23233232--22223333--23233232--",
"11132123--11123132--11132123--11123132--",
"22222222--22222222--22222222--22222222--",
"22223232--32323333--33332323--23232222--",
"11222233--13222231--11222233--13222231--",
"21212424--12124242--21212424--12124242--",
"12222232--21222223--12222232--21222223--",
"11132232--13212233--12223133--11222331--",
"21223334--13233242--23243132--12223343--",
"12223333--23243232--22223343--23233132--"};
class TTetrisForm : public TForm
{
__published: // IDE-managed Components
TBevel *Bevel3;
TSpeedButton *Button1;
TSpeedButton *Button2;
TSpeedButton *Button3;
TSpeedButton *Button5;
TBevel *Bevel4;
TLabel *Label1;
TBevel *Bevel1;
TLabel *Label2;
TBevel *Bevel2;
TSpeedButton *Button4;
TTimer *Timer1;
TLabel *Label3;
TLabel *Label4;
TMainMenu *MainMenu1;
TMenuItem *Game;
TImage *BGImage;
TImage *Image;
TImage *NextImage;
TMenuItem *S1;
TMenuItem *X1;
TMenuItem *Help;
TMenuItem *N1;
TMenuItem *BCB1;
TMenuItem *S2;
TMenuItem *N2;
TMenuItem *T1;
TMenuItem *N3;
TMenuItem *N4;
TMenuItem *N5;
TOpenPictureDialog *OpenPictureDialog1;
TMediaPlayer *MediaPlayer1;
TMenuItem *N6;
TMenuItem *J1;
void __fastcall FormCreate(TObject *Sender);
void __fastcall Button1Click(TObject *Sender);
void __fastcall FormKeyDown(TObject *Sender, WORD &Key,
TShiftState Shift);
void __fastcall Timer1Timer(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
void __fastcall Button3Click(TObject *Sender);
void __fastcall X1Click(TObject *Sender);
void __fastcall Button4Click(TObject *Sender);
void __fastcall N2Click(TObject *Sender);
void __fastcall Button5Click(TObject *Sender);
void __fastcall N1Click(TObject *Sender);
void __fastcall N4Click(TObject *Sender);
void __fastcall N5Click(TObject *Sender);
void __fastcall MediaPlayer1Notify(TObject *Sender);
void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
void __fastcall T1Click(TObject *Sender);
void __fastcall BCB1Click(TObject *Sender);
void __fastcall J1Click(TObject *Sender);
void __fastcall FormDestroy(TObject *Sender);
private:
JOYCAPS JoyCaps;
void __fastcall JoyMove(TMessage &msg);
void __fastcall JoyPress(TMessage &msg);
public: // User declarations
int Level;
long Score;
int ObjectX;
int ObjectY;
int NextPatn,NextRotat;
int Patn,Rotat;
int NextColor,ObjectColor;
int OldX[4],OldY[4];
char Style[21][40];
int GlassMap[GlassWidth][GlassHeight];
int OldGlassMap[GlassWidth][GlassHeight];
bool MoveFlag;
bool isPlaying;
bool PlaySnd,PlayMusic;
AnsiString ImageFileName;
long HighScore[3];
AnsiString HighName[3];
TIniFile *IniFile;
__fastcall TTetrisForm(TComponent* Owner);
void __fastcall DrawBlock(int X, int Y, TColor mColor);
void __fastcall ClearBlock(int X, int Y);
void __fastcall DrawSmallBlock(int X, int Y, TColor mColor);
void __fastcall ClearSmallBlock(int X, int Y);
void ReadStyle();
void WriteNext();
void __fastcall WriteObject();
void __fastcall Start();
void __fastcall MoveRight();
void __fastcall MoveLeft();
bool __fastcall HitCheck(int X, int Y,int Ro);
void __fastcall Rotate();
void __fastcall MoveDown();
void __fastcall ScanLines();
void __fastcall LoadImage(AnsiString FileName);
void ReadIni();
void AddHighScore();
void __fastcall ConnectJoy();
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(MM_JOY1MOVE,TMessage,JoyMove);
MESSAGE_HANDLER(MM_JOY1BUTTONDOWN,TMessage,JoyPress);
END_MESSAGE_MAP(TForm)
};
//---------------------------------------------------------------------------
extern PACKAGE TTetrisForm *TetrisForm;
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -