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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? unit_main.pas

?? 掃雷
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
    BlockRow :=pixely div g_BlockHeight-1
  else
    BlockRow :=pixely div g_BlockHeight +1;
end;

procedure TFrm_Main.LevelMenuSelect(isLevel_B,isLevel_I,isLevel_E,isLevel_P,isLevel_C:boolean);
begin
  Menu_Lv_B .Checked :=isLevel_B ;
  Menu_Lv_I .Checked :=isLevel_I ;
  Menu_Lv_E .Checked :=isLevel_E ;
  Menu_Lv_P .Checked :=isLevel_P ;
  Menu_Lv_C .Checked :=isLevel_C;
end;

procedure TFrm_Main.initApplication(const i_level:TGameLevel ; UserCols, UserRows, UserBombs:integer;
              i_isHaveQuestion,i_isHaveColor,i_isHaveSound, i_isHaveStatusBar:boolean;
              var i_LanguageType:TLanguageType );
var
 i,j:integer;

  procedure initVar();
  begin
    FlagCount := 0;

    Timer_Display .Interval :=1000;
    Timer_Display .Enabled :=False;

    FlagCount:=0;
    BlockOpenCount:=0;               

    isFirstClick:=true ;
    isGameOver:=False ;
    isGameWin:=false;
    isGameLost:=false;
    isGamePaused :=false;

    isLeftBtnDown:=false;
    isRightbtnDown:=false;
    isLeftAndRightBtnDown:=false;
    GameStatus :=s_Waiting ;

    TotalTime :=0;
  end;


begin
  UserLevel :=i_level ;
  //調(diào)用unit_Hero 中的取得記錄分?jǐn)?shù)的函數(shù)。得到當(dāng)前級別下的記錄(不包括 ‘自定義’)
  unit_Hero.GetScore(UserLevel ,LocalScore );
  //定義地層 的結(jié)構(gòu)
  DownGridArray .LocalTotalCols :=UserCols ;
  DownGridArray .LocalTotalRows :=UserRows ;
  UserBombCount :=UserBombs ;
  //
  checkArr(DownGridArray,UpGridArray,UserBombCount );
  //
  UserTotalCols :=DownGridArray .LocalTotalCols ;
  UserTotalRows :=DownGridArray .LocalTotalRows ;

//調(diào)用改變菜單的函數(shù) ChangeMenu();
  ChangeMenu(i_LanguageType );

  case UserLevel of
    v_Beginner  :LevelMenuSelect(true,false,false,false,false);
    v_Middle  :LevelMenuSelect(false,true,false,false,false);
    v_Expert  :LevelMenuSelect(false,false,true,false,false);
    v_Professional  :LevelMenuSelect(false,false,false,true,false);
    v_UserDefine :LevelMenuSelect(false,false,false,false,true)

  end;
  //給變量賦值
  initVar ;
  //各個(gè)菜單項(xiàng)的狀態(tài)
  Menu_Pause_Resume.Enabled :=false;
  Menu_Restart.Enabled :=false;
  Menu_Flag .Checked :=i_isHaveQuestion ;
  Menu_Color .Checked :=i_isHaveColor ;
  Menu_Sound .Checked :=i_isHaveSound ;

  //初始化窗體
  initform(DownGridArray.LocalTotalCols ,DownGridArray .LocalTotalRows ,UserBombCount, i_isHaveStatusBar );

  ChangeStatusBar(UserLevel,DownGridArray.LocalTotalCols,DownGridArray.LocalTotalRows,UserBombCount, s_Waiting,LocalScore,LanguageType);

  //顯示層的兩個(gè)數(shù)組的賦值.
  for i:= 1 to DownGridArray .LocalTotalCols do
    for j:=1 to DownGridArray .LocalTotalRows do
    begin
      UpGridArray .grid[i][j]:=11;
      LastUpGridArray .Grid [i][j]:=0;
    end;

  checkmainformposition(Frm_Main );
  DrawBackGround(UpGridArray ,false);
end;


procedure TFrm_Main.ChgSpbtnGlyph (FaceType:TFaceType );
var
  num:integer;
  comImage:TImage;
begin
  //根據(jù)傳進(jìn)來的 TFaceType 類型的值來確定笑臉的圖片
  case FaceType of
    f_smileDown         : num := 1;
    f_glass             : num := 2;
    f_sad               : num := 3;
    f_o                 : num := 4;
    f_smile             : num := 5;
    else exit;
  end;
  if isHaveColor then
    comImage:=image_color_button
  else
    comImage:=Image_Gray_Button ;
  image_face.Canvas.CopyRect (rect (0,0,g_FaceWidth ,g_FaceHeight ),comImage.Canvas ,rect(0,(num-1)*g_FaceWidth ,g_FaceHeight ,num * g_FaceWidth ));
end;


procedure TFrm_Main.FormCreate(Sender: TObject);
var
  c_I_REG:TRegistry;
  c_H_REG:TRegistry;
begin
//如果注冊表里還沒有信息,則向注冊表里添加初始的值
  //游戲信息的相關(guān)鍵值
  c_I_REG:=TRegistry.Create;
  c_I_REG.RootKey:=HKEY_CURRENT_USER;
  with c_I_REG do
    if not KeyExists(g_REG_InfoPath ) then
    begin
      CreateKey(g_REG_InfoPath);
      OpenKey(g_REG_InfoPath ,False);

      WriteInteger('Language',10);
      WriteInteger('Pos_Left',Screen .Width  div 2 - ((g_Level_2_Col  div 2)*g_BlockWidth ));
      WriteInteger('Pos_Top',Screen .Height  div 2 - ((g_Level_2_Row  div 2)*g_BlockHeight )-100);

      WriteInteger('Level',12 );
      WriteInteger('LocalCols',g_Level_2_Col );
      WriteInteger('LocalRows',g_Level_2_Row );
      WriteInteger('BombCount',g_Level_2_Bombcount );
      WriteBool('IsHaveQuestion',true);
      WriteBool('IsHaveColor',True);
      WriteBool('IsHaveSound',True);
      WriteBool('IsHaveStatusBar',False);

      CloseKey;
      Free;
    end;

    //英雄榜的相關(guān)鍵值
    c_H_REG:=TRegistry.Create;
    c_H_REG.RootKey:=HKEY_CURRENT_USER;
    with c_H_REG do
      if not KeyExists(g_REG_HeroPath ) then
      begin
        CreateKey(g_REG_HeroPath );
        OpenKey(g_REG_HeroPath,false );

        WriteString('Level_B_Name','匿名');
        WriteInteger('Level_B_Score',999);
        WriteString('Level_I_Name','匿名');
        WriteInteger('Level_I_Score',999);
        WriteString('Level_E_Name','匿名');
        WriteInteger('Level_E_Score',999);
        WriteString('Level_P_Name','匿名');
        WriteInteger('Level_P_Score',999);

        closekey;
        free;
      end;

  //在Delphi 6 下要用到 CopyRect函數(shù)時(shí)就需要將其(TImage) 的父控件的 DoubleBufered 設(shè)置為 True;
  //這樣才能確保圖片區(qū)域不抖動(dòng).
  Panel_top.DoubleBuffered :=true;
  Panel_bottom.DoubleBuffered :=true;

  //開始的第一局不是重新開局的雷區(qū).
  isGameofRestart :=false;
  ExportIniFile(UserLevel ,UserTotalCols ,UserTotalRows ,UserBombCount ,isHaveQuestion ,isHaveColor ,isHaveSound ,isHaveStatusBar ,LanguageType);
  initApplication (UserLevel ,UserTotalCols ,UserTotalRows ,UserBombCount ,isHaveQuestion ,isHaveColor ,isHaveSound ,isHaveStatusBar ,LanguageType);
end;

procedure TFrm_Main.Image_BackGroundMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  keystate:TKeyboardState;
begin
  //采用判斷當(dāng)前鼠標(biāo)按鍵情況的方法確認(rèn)鼠標(biāo)的按鍵
  GetKeyboardState (keystate );
  //左鍵是否按下
  if keystate[vk_lbutton] and $80 <> 0 then
    isLeftBtnDown :=true
  else
    isLeftBtnDown :=False;

  //右鍵是否按下
  if keystate[vk_rbutton] and $80 <> 0 then
    isRightbtnDown :=true
  else
    isRightbtnDown :=false;

  //左右鍵是否同時(shí)按下
  if keystate[vk_lbutton] and keystate[vk_rbutton] and $80 <> 0 then
    isLeftAndRightBtnDown :=true
  else
    isLeftAndRightBtnDown :=false;

  if isGameOver or isGamePaused  then
    exit;

  //轉(zhuǎn)換鼠標(biāo)的點(diǎn)擊 X Y 成方塊號
  ChangePixelToBlock(X,Y,LocalCol,LocalRow);

  //如果觸發(fā)事件的鼠標(biāo)按鍵的點(diǎn)在 Image之外的話,則只是改變鼠標(biāo)按鍵狀態(tài).隨即退出
  if (LocalCol < 1 ) or (LocalRow < 1 ) or (LocalCol > UserTotalCols ) or (LocalRow > UserTotalRows )then
  begin
    case Button of
      mbleft :  isLeftBtnDown :=true;
      mbRight : isRightbtnDown :=true;
    end;
    exit;
  end;


  case Button of
    //左鍵被按下
    mbLeft :
      begin
        //判斷右鍵是否已經(jīng)被按下了,是則執(zhí)行左右鍵一起按下的操作
        if isRightbtnDown = false then
        begin
          isLeftBtnDown :=true;
          ChgSpbtnGlyph(f_O );
          LeftBtnDown(DownGridArray ,UpGridArray ,LocalCol,LocalRow );

        end else
        begin
          isLeftBtnDown :=true;
          isLeftAndRightBtnDown :=true;
          ChgSpbtnGlyph(f_O );
          LeftAndRightBtnDown(DownGridArray ,UpGridArray ,LocalCol ,LocalRow );
        end;
      end;

    //右鍵被按下
    mbRight:
      begin
        //判斷左鍵是否被按下了,是則執(zhí)行左右鍵一起按下的操作
        if isLeftBtnDown = false then
        begin
          isRightbtnDown :=true;
          RightBtnDown(DownGridArray ,UpGridArray ,LocalCol ,LocalRow );

        end else
        begin
          isRightbtnDown :=true;
          isLeftAndRightBtnDown :=true;
          ChgSpbtnGlyph(f_O );
          LeftAndRightBtnDown(DownGridArray ,UpGridArray ,LocalCol ,LocalRow );

        end;
      end;
  end;

  DrawBackGround(UpGridArray ,false);
end;

procedure TFrm_Main.Image_BackGroundMouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
  LocalCol,LocalRow:integer;
begin

  if isGameOver or isGamePaused  then
    exit;

  ChangePixelToBlock(X,Y,LocalCol ,LocalRow );

  //在區(qū)域之外的情況下,只改變鼠標(biāo)狀態(tài)和笑臉,就退出
  if (LocalCol < 1 ) or (LocalRow < 1 ) or (LocalCol > UserTotalCols ) or (LocalRow > UserTotalRows )then
  begin
    ChgSpbtnGlyph(f_smile );
    case Button of
      mbleft :  isLeftBtnDown :=false;
      mbRight : isRightbtnDown :=false;
    end;
    isLeftAndRightBtnDown :=false;
    exit;
  end;

  //當(dāng)時(shí)間是處于停止?fàn)顟B(tài),但是又不是由于暫停所觸發(fā)的,而此時(shí)松開的是左鍵的時(shí)候
  //即是第一次展開方塊區(qū)域
  if (not Timer_Display.Enabled ) and (not isGamePaused  ) and (button = mbLeft ) then
  begin
    Begin_Time :=GetTickCount;
    TotalTime :=1;
    if isHaveSound then
      sndPlaySound(pchar(comdir+g_ResourceName +g_sound_second),SND_ASYNC );
    DrawHead(TotalTime ,d_right );
    Timer_Display.Enabled:=True;
  end;

  case Button of
    mbLeft:
      begin
        if isFirstClick                                                 //是否是第一次按鍵
          and (not isLeftAndRightBtnDown )                              //不是左右鍵一起按下
          and (UpGridArray .grid[LocalCol][LocalRow] <> 31)             //當(dāng)前方塊不是"標(biāo)有旗幟的方塊"
          and (UpGridArray .grid[LocalCol][LocalRow] <> 32)             //當(dāng)前方塊不是"沒有被按下的標(biāo)有問好的方塊"
          and (UpGridArray .grid[LocalCol][LocalRow] <> 11) then        //當(dāng)前方塊不是"沒有被按下方塊"
        begin
          //初始化數(shù)組的值
          initGridArray(UserBombCount ,LocalCol ,LocalRow ,DownGridArray ,UpGridArray );
          isFirstClick :=false;
          //游戲狀態(tài)的設(shè)定
          GameStatus :=s_Sweeping;
          ChangeStatusBar(UserLevel ,UserTotalCols,UserTotalRows ,UserBombCount,GameStatus,LocalScore,LanguageType);

          //再設(shè)置成 False,以使以后 N1Click事件時(shí)的 isGameofRestart 為False;
          isGameofRestart :=false;

          //使’暫停‘按鈕可用。
          Menu_Pause_Resume.Enabled :=true;
        end;

        if isRightbtnDown then
        begin
          isLeftBtnDown :=false;
          isLeftAndRightBtnDown :=false;
          ChgSpbtnGlyph(f_smile );
          LeftAndRightBtnUp(DownGridArray ,UpGridArray ,LocalCol ,LocalRow );

        end else
        begin
          isLeftBtnDown :=false;
          ChgSpbtnGlyph(f_smile );
          LeftBtnUp(DownGridArray ,UpGridArray ,LocalCol ,LocalRow );
        end;
      end;

    mbRight :
      begin
        if isLeftBtnDown  then
        begin
          isRightbtnDown :=false;
          isLeftAndRightBtnDown :=false;
          ChgSpbtnGlyph(f_smile );
          LeftAndRightBtnUp(DownGridArray ,UpGridArray ,LocalCol ,LocalRow );
        end else
          isRightbtnDown :=false;
      end;
  end;

  //判斷是否取得了游戲的勝利
  if BlockOpenCount = DownGridArray .LocalTotalCols *DownGridArray .LocalTotalRows - UserBombCount then
    GameWin(DownGridArray ,UpGridArray )
  else
    DrawBackGround(UpGridArray ,false);

end;

procedure leftBtnMoveOut(lm_DownGridArray:TGridArray ;var lm_UpGridArray:TGridArray ;lm_Col,lm_row:integer);
begin
  case lm_UpGridArray .Grid [lm_Col][Lm_Row] of
    13 : lm_UpGridArray .Grid [lm_Col][Lm_Row] := 11;
    33 : lm_UpGridArray .Grid [lm_Col][Lm_Row] := 32;
    else exit;
  end;
end;


procedure LeftAndRightBtnMoveOut(lrm_DownGridArray:TGridArray ;var lrm_UpGridArray:TGridArray ;lrm_Col,lrm_row:integer);
var
  lrm_i,lrm_j:integer;
begin
  case lrm_UpGridArray .Grid [lrm_Col ][lrm_Row ] of
    12 : exit;
    13 :

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久中文综合久久97| 日韩综合在线视频| 亚洲国产精品久久不卡毛片| 国产又粗又猛又爽又黄91精品| 成人综合在线网站| 日韩一二在线观看| 亚洲欧美另类图片小说| 精品亚洲国产成人av制服丝袜 | 亚洲色图视频免费播放| 日本一区中文字幕| 色综合色综合色综合色综合色综合 | 欧美一a一片一级一片| 精品久久人人做人人爰| 亚洲激情在线播放| av中文字幕一区| wwwwww.欧美系列| 天堂精品中文字幕在线| 色悠悠久久综合| 国产精品三级av| 精东粉嫩av免费一区二区三区 | 色综合天天综合网国产成人综合天 | 欧美性极品少妇| 国产精品萝li| 国产91精品露脸国语对白| 精品伦理精品一区| 日本不卡中文字幕| 欧美日韩国产在线观看| 亚洲综合自拍偷拍| 91日韩在线专区| 亚洲私人影院在线观看| 国产成人aaa| 久久久精品2019中文字幕之3| 麻豆精品一区二区综合av| 69av一区二区三区| 五月天久久比比资源色| 欧美精品免费视频| 肉丝袜脚交视频一区二区| 欧洲一区二区av| 亚洲一区二区不卡免费| 欧美日韩一区在线观看| 亚洲动漫第一页| 欧美一区二区视频观看视频 | 亚洲精品视频一区二区| 一本高清dvd不卡在线观看| 综合亚洲深深色噜噜狠狠网站| 成人蜜臀av电影| 亚洲视频精选在线| 欧美影片第一页| 日本午夜精品视频在线观看| 欧美一二三区精品| 国产麻豆视频一区二区| 国产精品色噜噜| 一本一道久久a久久精品 | 制服丝袜av成人在线看| 日韩和欧美一区二区| 欧美电影免费观看高清完整版在 | 粉嫩一区二区三区在线看| 精品处破学生在线二十三| 国产做a爰片久久毛片| 国产精品色噜噜| 欧美女孩性生活视频| 免费看日韩精品| 国产欧美一区二区三区鸳鸯浴| 成人黄色国产精品网站大全在线免费观看| 国产精品久久久久9999吃药| 在线视频一区二区免费| 乱中年女人伦av一区二区| 国产欧美日韩综合精品一区二区| 97se亚洲国产综合自在线观| 成人高清免费观看| 国产欧美一区二区精品秋霞影院 | 成人伦理片在线| 亚洲成a人片在线不卡一二三区| 欧美日韩不卡在线| 国产精品1区2区| 亚洲最大的成人av| 亚洲国产精品黑人久久久| 亚洲日本va午夜在线影院| 欧美区一区二区三区| 成人在线综合网站| 日日欢夜夜爽一区| 中文字幕中文字幕中文字幕亚洲无线| 日本丰满少妇一区二区三区| 国产综合久久久久影院| 午夜影院在线观看欧美| 91丝袜高跟美女视频| 91精品国产高清一区二区三区| 亚洲人成小说网站色在线| 欧美一区二区视频免费观看| 91丨porny丨中文| 国产精品影视天天线| 日韩综合在线视频| 亚洲欧美一区二区三区孕妇| 亚洲精品一区二区三区蜜桃下载 | 欧美日韩精品三区| 成人自拍视频在线观看| 美女诱惑一区二区| 亚洲精选视频免费看| 欧美经典一区二区| 欧美成人乱码一区二区三区| 欧美日韩大陆在线| 亚洲福利一区二区三区| 亚洲va欧美va人人爽午夜| 色婷婷激情一区二区三区| 高清不卡一区二区| 欧日韩精品视频| 亚洲素人一区二区| 欧美裸体一区二区三区| 日本道色综合久久| 91丨九色丨国产丨porny| 成人视屏免费看| 丰满亚洲少妇av| 国产精品一区二区视频| 国产资源精品在线观看| 精品一区二区三区在线播放| 蓝色福利精品导航| 久久成人免费网| 久久超碰97人人做人人爱| 久久99精品视频| 国产在线精品国自产拍免费| 黄色成人免费在线| 国产精品88av| 成人午夜电影小说| av在线不卡电影| 97精品电影院| 欧美性受xxxx| 日韩欧美国产一二三区| 亚洲精品中文字幕在线观看| 亚洲欧美另类图片小说| 亚洲一区二区三区影院| 日韩国产精品91| 麻豆视频一区二区| 国产风韵犹存在线视精品| 成人黄色片在线观看| 91首页免费视频| 欧美日韩国产另类一区| 91精品国产一区二区人妖| 久久青草国产手机看片福利盒子 | 成人国产电影网| 色爱区综合激月婷婷| 欧美三级日韩三级国产三级| 884aa四虎影成人精品一区| 久久久精品免费免费| 中文字幕一区二区三区在线不卡 | 欧美日韩成人综合天天影院| 欧美不卡视频一区| 国产精品国产三级国产aⅴ无密码| 欧美激情一区在线| 亚洲视频电影在线| 蜜芽一区二区三区| 国产91精品露脸国语对白| 欧美日韩在线精品一区二区三区激情 | 午夜国产不卡在线观看视频| 麻豆一区二区三| 91在线国内视频| 日韩一级免费观看| 中文字幕在线观看一区二区| 亚洲h精品动漫在线观看| 国产精一区二区三区| 欧美亚洲精品一区| 26uuu精品一区二区在线观看| 亚洲人成人一区二区在线观看| 日韩电影一二三区| 99久久国产综合精品麻豆| 51午夜精品国产| 《视频一区视频二区| 男女激情视频一区| 99久久777色| 欧美精品一区二区三区在线播放| 亚洲欧美在线高清| 狠狠色丁香久久婷婷综| 色偷偷久久一区二区三区| 久久久久久久久久久电影| 亚洲成人在线免费| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美v国产在线一区二区三区| 亚洲综合在线免费观看| 成人av电影免费观看| 国产亚洲精品aa| 欧美电影在哪看比较好| 亚洲日本电影在线| 国产黄色91视频| 日韩欧美国产系列| 亚洲国产精品一区二区久久恐怖片 | 日韩精品一区二区三区视频| 亚洲大片一区二区三区| 91丨九色丨尤物| 亚洲视频在线一区观看| 国产精品影视在线观看| 精品裸体舞一区二区三区| 麻豆精品视频在线观看视频| 欧美私人免费视频| 一区二区三区欧美日韩| www..com久久爱| 国产精品电影一区二区三区| 成人一区二区三区视频| 国产三级三级三级精品8ⅰ区| 精品一区二区三区在线播放| 精品久久久久久久久久久久包黑料 | 日韩精品亚洲一区二区三区免费|