亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.pas

?? Delphi寫的連連看
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
          {*************************************************}
          {***************      連連看1.0       ************}
          {***************    開發  孔祥吉      ************}
          {*************完成于 07.3.5 哈薩克斯坦************}
          {*********本軟件為共享免費軟件版權屬于作者********}
          {***任何單位和個人不經作者同意禁止用于商業盈利****}
          {*******開發者引用本程序請保留開發者信息**********}
          {*************************************************}
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DXPlay, DXInput, DXSounds, DXSprite, DXDraws, DIB,DXClass,DirectX,
  ExtCtrls, Menus, ToolWin, ComCtrls, MPlayer,Math,Regest;
type

  TMonoSprite = class;

  TSpriteImageID = Set of 1..100;

  TLanguageType = (ltChs,ltEng);

  TSpriteXY = record
    X,Y: integer;
    ID,ImageID: integer;
    XID,YID: integer;
    dead,throut,show: boolean;
    MonoSprite: TMonoSprite;
  end;

  TRandomEvent = record
    ID: integer;
    Add: integer;
  end;

  TGameState = (gtWait,gtRuning,gtPaused,gtGameOver);

  TForm1 = class(TForm)
    DXDraw: TDXDraw;
    ImageList: TDXImageList;
    DXSpriteEngine: TDXSpriteEngine;
    DXWaveList1: TDXWaveList;
    DXInput: TDXInput;
    DXPlay1: TDXPlay;
    DXSound1: TDXSound;
    DXTimer1: TDXTimer;
    DXImageList1: TDXImageList;
    SaveDialog1: TSaveDialog;
    MainMenu1: TMainMenu;
    game1: TMenuItem;
    NewGame1: TMenuItem;
    GameOver1: TMenuItem;
    Exit1: TMenuItem;
    about1: TMenuItem;
    about: TMenuItem;
    other1: TMenuItem;
    hint1: TMenuItem;
    wash1: TMenuItem;
    aa1: TMenuItem;
    Auto1: TMenuItem;
    Level1: TMenuItem;
    Normal1: TMenuItem;
    Easy1: TMenuItem;
    Hard1: TMenuItem;
    Level2: TMenuItem;
    Music1: TMenuItem;
    Sound1: TMenuItem;
    BackgroundMusic1: TMenuItem;
    Language1: TMenuItem;
    Chinese1: TMenuItem;
    English1: TMenuItem;
    N2: TMenuItem;
    MediaPlayer1: TMediaPlayer;
    ModesMenu: TMenuItem;
    BackImage: TDXImageList;
    EndGame1: TMenuItem;
    Regest1: TMenuItem;
    procedure FormShow(Sender: TObject);
    procedure DXTimer1Timer(Sender: TObject; LagCount: Integer);
    procedure DXDrawMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Exit1Click(Sender: TObject);
    procedure NewGame1Click(Sender: TObject);
    procedure aboutClick(Sender: TObject);
    procedure GameOver1Click(Sender: TObject);
    procedure wash1Click(Sender: TObject);
    procedure aa1Click(Sender: TObject);
    procedure hint1Click(Sender: TObject);
    procedure Auto1Click(Sender: TObject);
    procedure Easy1Click(Sender: TObject);
    procedure Normal1Click(Sender: TObject);
    procedure Hard1Click(Sender: TObject);
    procedure Level2Click(Sender: TObject);
    procedure Music1Click(Sender: TObject);
    procedure BackgroundMusic1Click(Sender: TObject);
    procedure Sound1Click(Sender: TObject);
    procedure MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
      var DoDefault: Boolean);
    procedure Chinese1Click(Sender: TObject);
    procedure English1Click(Sender: TObject);
    procedure Language1Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure MediaPlayer1Notify(Sender: TObject);
    procedure DXDrawInitialize(Sender: TObject);
    procedure EndGame1Click(Sender: TObject);
    procedure game1Click(Sender: TObject);
    procedure other1Click(Sender: TObject);
    procedure about1Click(Sender: TObject);
    procedure Regest1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    FAngle: Integer;

    FShowRegTime: integer;
    FShowReg: boolean;

    FRanEventID: TRandomEvent;

    FocusedSprite,FocusedSprite1: array[0..1] of TSpriteXY;
    FSurface: TDirectDrawSurface;

    FScore,FBaseScore,FTotleScore,FOneSpriteScore,FIniScore,CurLostIndex: integer;

    Language: TLanguageType;

    FImageW,FImageH,FBackImageW,FBackImageH,w,h,Ax,Ay: integer;

    FX,FY: integer;
    FLevel,FStep,FTime,FOneTime,FLostTime,incTime,incTime1,incTime2,incTime3: integer;

    FGameState: TGameState;

    {FPaused: boolean;
    FGameOver: boolean;
    FPassAll: boolean;
    Fstart: boolean; }

    SelfDo: boolean;
    IS800x600: boolean;

    Washing,FCLose,FStop: boolean;
    FBackMusic,FMusic: boolean;

    FHint,FWash: integer;

    FProgressW,FProgressH,FProgressT: integer;
    FProgressC: TColor;

    FSprites: array of array of TSpriteXY;

    FRoadPoint,FFirstRoadPoint: array[0..1] of TSpriteXY;

    NumStrs: array[1..10] of string;
    FStrs: array[1..100] of string;
    FRanEventName: array[1..5] of string;

    FSpritesCount,ImageCount,OneImageCount: integer;

    FSpritesCount2,OneImageCount2,ImageCount2: integer;

    procedure ChangeLanguge(AType: TLanguageType);

    procedure AssignPoint(SourPoint: TSpriteXY; var DesPoint: TSpriteXY);

    procedure Initialize(isStep: boolean = false);
    procedure FocusedSprites(AX,AY: integer);
    procedure UnFocusedSprite;

    procedure DeadSprite;
    procedure InitializeSprite;
    procedure Randomsprite;
    procedure RandomEvent;

    procedure WashSprite;
    procedure MoveSprite(AStep: integer);

    procedure InitializeID;
    procedure DrawLine(X1,Y1,X2,Y2: integer;ACanvas: TCanvas;PenColor: TColor);
    procedure getXY(Count: integer;var x: integer;var y: integer);

    procedure getRaodPoint(StPoint,EndPoint: TSpriteXY;var RoadPoint1,RoadPoint2: TSpriteXY);
    procedure getFirstRaodPoint(var RoadPoint1,RoadPoint2: TSpriteXY;ISF4: boolean = false);

    procedure NewGame(ALeavel: integer = 2);
    procedure PauseGame;
    procedure GameOver;
    procedure DoPassStep;
    procedure EndGame;

    procedure PlayBackMusic(Play: boolean=true);
  public
    constructor Create(AOwner: TComponent);override;
    procedure ModeItemClick(Sender: TObject);
    { Public declarations }
  end;

  TMonoSprite = class(TImageSprite)
  private
    FCounter: Double;
    FS: Integer;
    Focused,OldFocused: boolean;
    procedure Hit;
    procedure WMLButtonUp(var Message: TWMLButtonUp); message WM_LBUTTONUP;
  protected
    //FDefaultGammaRamp: TDDGammaRamp;
    procedure Click;dynamic;
  public
    ID: integer;
    ImageID: integer;
    XID,YID: integer;
    ISDead: boolean;
    //FS: Integer;
    procedure DoMove(MoveCount: Integer); override;
    procedure DoDead;
  end;

  TMyBackGroubd = class(TBackgroundSprite)
  protected
    procedure DoCollision(Sprite: TSprite; var Done: Boolean); override;
    procedure DoMove(MoveCount: Integer); override;
    //procedure DoClick;override;
  end;

var
  Form1: TForm1;
  FRegInfo: TRegInfo;
  FDecKey: TMemoEncKey ;
  FParentFile: TFileStream;
  ChsNum: array[1..10] of string = ('第一關','第二關','第三關','第四關',
                                  '第五關','第六關','第七關','第八關','第九關','第十關');
  ChsStr: array[1..48] of string = (  '無變化',
                                      '左移',
                                      '右移',
                                      '左右分離',
                                      '左右集中',
                                      '上移',
                                      '下移',
                                      '上下分離',
                                      '上下集中',
                                      '時間剩余 : ',
                                      '提示(F4)剩余 :',
                                      '重洗(F5)剩余 : ',
                                      ' 次',
                                      '共 ',
                                      ' 種圖片',
                                      '每種 ',
                                      '剩余 ',
                                      ' 對',
                                      '游戲',
                                      '新游戲',
                                      '暫停',
                                      '退出',
                                      '設置',
                                      '等級',
                                      '容易',
                                      '一般',
                                      '困難',
                                      '聲音',
                                      '音效',
                                      '背景音樂',
                                      '其他',
                                      '提示',
                                      '重洗',
                                      '語言',
                                      '中文',
                                      '英文',
                                      '自動',
                                      '幫助',
                                      '關于',
                                      '恭喜過關,繼續下一難度',
                                      '恭喜通關,重新開始?',
                                      '見縫插針',
                                      '排名',
                                      '連連看 1.0',
                                      '結束游戲',
                                      '恢復',
                                      '未注冊',
                                      '天'
                                      );

  RanEventName: array[1..5] of string =('提示增加',
                                        '重新洗牌增加',
                                        '分數增加',
                                        '時間增加',
                                        ''
                                        );

  EngNum: array[1..10] of string = ('First Step','Second Step','Third Step',
                                  'Fourth Step','Fifths Step','Sixth Step',
                                    'Seventh Step','Eighth Step','Ninth Step',
                                    'Tenth Step');
  EngStr: array[1..48] of string = (   'No Change',
                                      'Left',
                                      'Right',
                                      'Left And Right',
                                      'Left and Right To Center',
                                      'Up',
                                      'Down',
                                      'Up And Down',
                                      'Top and  Bottom To Center',
                                      'Remain Time : ',
                                      'Remain Hint(F4) : ',
                                      'Remain Shuffle(F5) : ',
                                      '',
                                      '',
                                      '  Type pictures',
                                      'Every Type  ',
                                      'Remain  ',
                                      '  Twain',
                                      'Game',
                                      'New Game',
                                      'Pause',
                                      'Exit',
                                      'Setting',
                                      'Level',
                                      'Easy',
                                      'Normal',
                                      'Hard',
                                      'Sound',
                                      'Music',
                                      'BackGround Music',
                                      'Other',
                                      'Hint',
                                      'Shuffle',
                                      'Language',
                                      'Chinese',
                                      'English',
                                      'Auto',
                                      'Help',
                                      'About',
                                      'Congratulation!Next Level?',
                                      'Congratulation! You Pass All Level,Again?',
                                      'Make use of every bit of time or space',
                                      'Sequence',
                                      'Look for Link 1.0',
                                      'End Game',
                                      'Resume',
                                      'Not Registered',
                                      'Days'
                                      );
  RanEventNameEn: array[1..5] of string =('Hint Add',
                                        'Shuffle Add',
                                        'Scores Add',
                                        'Time Add',
                                        ''
                                        );
  procedure CheckUseInfo(var ARegInfo: TRegInfo;ADecKey: TMemoEncKey);

implementation

uses about,Scores, Reg;

{$R *.dfm}
{$R MIDI.RES}

procedure CheckUseInfo(var ARegInfo: TRegInfo;ADecKey: TMemoEncKey);
var
  Reginfo: TRegInfo;
  DecKey: TMemoEncKey;
  function ISSameSn(Sn1,Sn2: FSn) :boolean;
  var
    i: integer;
  begin
    result := true;
    for i := low(Sn1) to high(Sn1) do
    begin
      if Sn1[i] <> Sn2[i] then
      begin
        result := false;
        break;
      end;
    end;
  end;
  procedure AssignSn(var Sn1: TRegInfo;Sn2: FSn);
  var
    i: integer;
  begin
    for i := low(Sn2) to high(Sn2) do
    begin
      Sn1.Sn[i] := Sn2[i];
    end;
  end;
  procedure getOldUserInfo;
  var
    File1,File2: TFileStream;
  begin
    if not(Fileexists(RegFileName)) then
    begin
      File1 := TFileStream.Create(RegFileName,fmCreate);
      WriteUserInfo(ARegInfo,ADecKey,TStream(File1));
      File1.Free;
    end;

    if FileExists(RegFileName) then
    try
      FileSetAttr(RegFileName,faSysFile or faHidden);
    except
    end;

    File1 := TFileStream.Create(RegFileName,fmOpenReadWrite);
    GetRegInfo(RegInfo,DecKey,File1);


    ARegInfo.RunData := Max(ARegInfo.RunData,RegInfo.RunData);
    ARegInfo.InstallDate := Min(ARegInfo.InstallDate,RegInfo.InstallDate);
    if round(Date - ARegInfo.InstallDate)+2 > ARegInfo.RunData then
    begin
      ARegInfo.RunData := round(Date - ARegInfo.InstallDate)+2;
    end
    else if round(Date - ARegInfo.InstallDate)+2 < ARegInfo.RunData then
    begin
      ARegInfo.RunData := FMaxRunData;

    end;
    if ARegInfo.RunData = 0 then
      ARegInfo.RunData := 1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲二区在线观看| 91在线免费播放| 不卡的电影网站| 欧美一级高清片| 国产精品久久久一本精品| 青青草原综合久久大伊人精品优势| 成人午夜激情视频| 日韩欧美二区三区| 视频一区视频二区中文| 一本一本大道香蕉久在线精品| 2023国产精品| 免费在线看一区| 欧美裸体一区二区三区| 1000部国产精品成人观看| 久久av老司机精品网站导航| 欧美人与禽zozo性伦| 亚洲精品一二三四区| 成人app软件下载大全免费| 26uuu久久天堂性欧美| 日韩国产精品久久久| 欧美三区在线观看| 亚洲自拍偷拍网站| 色噜噜狠狠成人网p站| 中文字幕综合网| 不卡的av中国片| 中文字幕亚洲在| 成人动漫一区二区| 91在线观看免费视频| 日韩午夜激情免费电影| 日韩制服丝袜av| 欧美三级视频在线| 亚洲成国产人片在线观看| 在线影院国内精品| 亚洲一区二区美女| 欧美日韩国产综合久久| 亚洲va天堂va国产va久| 欧美性做爰猛烈叫床潮| 亚洲国产成人av好男人在线观看| 色av成人天堂桃色av| 一区二区三区自拍| 欧美日韩亚洲综合在线 | 中文字幕中文字幕在线一区 | 精品午夜一区二区三区在线观看| 欧美电影免费观看高清完整版| 蜜桃精品视频在线| 欧美va亚洲va在线观看蝴蝶网| 久草在线在线精品观看| 国产校园另类小说区| 97久久精品人人做人人爽50路| 亚洲天堂2016| 欧美剧在线免费观看网站 | 日韩欧美一区在线观看| 美女一区二区视频| 国产午夜精品在线观看| 色欲综合视频天天天| 天天色综合天天| 久久免费视频色| aaa国产一区| 视频一区二区中文字幕| 国产午夜精品一区二区三区四区| 不卡一区中文字幕| 五月综合激情日本mⅴ| 久久久午夜精品| 91成人免费在线视频| 麻豆成人av在线| 综合亚洲深深色噜噜狠狠网站| 欧美日韩免费高清一区色橹橹| 麻豆精品国产91久久久久久| 国产精品二区一区二区aⅴ污介绍| 欧美日韩亚洲综合在线 | 欧美哺乳videos| 成人精品鲁一区一区二区| 亚洲一区二区在线视频| 国产午夜精品一区二区三区四区| 日本韩国一区二区| 国产精品91一区二区| 亚洲第一在线综合网站| 国产欧美日韩另类视频免费观看| 欧美三级乱人伦电影| 国产精品一区二区三区网站| 亚洲一线二线三线视频| 久久亚洲精品小早川怜子| 欧美视频一区二区| 高清免费成人av| 蜜桃在线一区二区三区| 亚洲激情欧美激情| 中文字幕va一区二区三区| 欧美高清视频在线高清观看mv色露露十八 | 亚洲精品水蜜桃| 亚洲精品一区二区三区在线观看| 日本韩国欧美在线| 丁香一区二区三区| 奇米一区二区三区| 亚洲图片自拍偷拍| 国产精品卡一卡二卡三| 久久蜜桃香蕉精品一区二区三区| 欧美日韩在线一区二区| aaa国产一区| 国产成人av一区二区三区在线观看| 天天免费综合色| 亚洲最大成人网4388xx| 中文字幕在线不卡一区二区三区| 精品久久久久久久久久久久包黑料| 欧美色成人综合| 欧美性生交片4| 色天使色偷偷av一区二区| 91视频在线看| av在线一区二区三区| 国产成人av电影在线播放| 国产精品一区二区三区网站| 精品一区二区三区在线观看| 日本免费在线视频不卡一不卡二 | 欧美日韩国产高清一区| 色狠狠色狠狠综合| 在线观看国产一区二区| 色综合av在线| 欧美亚洲一区二区三区四区| 91高清视频在线| 在线观看91视频| 欧美午夜免费电影| 91精品欧美一区二区三区综合在 | 日韩欧美成人一区二区| 日韩欧美三级在线| 欧美v国产在线一区二区三区| 日韩一区二区精品葵司在线| 精品国产在天天线2019| 久久一夜天堂av一区二区三区| 久久久久久9999| 国产精品午夜电影| 亚洲视频在线观看一区| 一区二区三区中文字幕在线观看| 亚洲第一搞黄网站| 蜜乳av一区二区三区| 国产精品一品二品| 91视频观看免费| 欧美日韩综合一区| 欧美成人福利视频| 欧美国产日韩a欧美在线观看| 综合久久久久综合| 亚洲午夜久久久久中文字幕久| 日韩高清不卡一区二区| 久久丁香综合五月国产三级网站| 丁香亚洲综合激情啪啪综合| 日本道色综合久久| 日韩女优毛片在线| 国产精品人成在线观看免费| 一区二区三区欧美日韩| 美女被吸乳得到大胸91| 成人一区二区在线观看| 欧美日韩一区二区三区在线| 日韩欧美色电影| 亚洲免费看黄网站| 午夜精品视频一区| 国产电影一区在线| 欧美日本精品一区二区三区| 国产日韩欧美精品在线| 亚洲尤物在线视频观看| 狠狠色狠狠色综合系列| 一本到不卡精品视频在线观看| 51精品久久久久久久蜜臀| 国产精品伦一区二区三级视频| 亚洲大片在线观看| 国产99精品国产| 日韩一级免费观看| 亚洲天堂免费看| 国产精品一区2区| 欧美精品在线一区二区| 国产精品国产三级国产有无不卡| 蜜臀久久99精品久久久画质超高清| av电影天堂一区二区在线观看| 欧美大片顶级少妇| 亚洲网友自拍偷拍| 粉嫩av亚洲一区二区图片| 日韩亚洲欧美在线观看| 亚洲第一电影网| 92国产精品观看| 国产欧美一区二区在线| 捆绑调教美女网站视频一区| 欧美亚洲另类激情小说| 国产精品久久免费看| 国产在线精品一区在线观看麻豆| 欧美日本视频在线| 亚洲综合999| 色婷婷亚洲一区二区三区| 国产精品乱码一区二区三区软件 | 亚洲精品中文在线影院| 国产成人免费视频网站高清观看视频| 777亚洲妇女| 亚洲国产美女搞黄色| 91福利国产成人精品照片| 亚洲区小说区图片区qvod| 成人综合在线观看| 久久久久久毛片| 国产一区二区导航在线播放| 日韩视频在线一区二区| 肉色丝袜一区二区| 欧美日韩精品一区二区在线播放| 亚洲小说欧美激情另类| 欧美日韩一二三区| 天天av天天翘天天综合网 |