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

📄 unit1.h

📁 经典游戏俄罗斯方块的制作程序,想成为游戏制作高手,次程序不能不看
💻 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 + -