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

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

?? main.pas

?? Delphi寫的連連看
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
      incTime1 := 0;
      FGameState := gtWait;
     end;
    exit;
  end;

  if FGameState = gtPaused then
  begin
    if DXDraw.CanDraw then
    for i1 := low(FSprites) to high(FSprites) do
    begin
      for j1 := low(FSprites[0]) to high(FSprites[0]) do
      begin
        if not(FSprites[i1][j1].dead) and (FSprites[i1][j1].MonoSprite<>nil) then
        begin
        if DXDraw.CanDraw then
        BackImage.Items[FStep-1].StretchDraw(DXDraw.Surface,Rect(FSprites[i1][j1].X,    //FSprites[i1][j1].Y,FSprites[i1][j1].X+FImageW+7,
                    FSprites[i1][j1].Y,FSprites[i1][j1].X+FBackImageW,
                    FSprites[i1][j1].Y+FBackImageH),0);
        end;
      end;
      with DXImageList1.Items.Find('back') do
      Draw(DXDraw.Surface,
          (DXDraw.Surface.Width - width) div 2,
            (DXDraw.Surface.Height - Height) div 2,0) ;
    end;

    DrawRegInfo;

    DXDraw.Flip;
    exit;
  end;

  inc(incTime);
  if incTime >= (1000 div DXTimer1.Interval) then
  begin
    inctime := 0;
    inc(FLostTime);
    if FLostTime = FTime then
      GameOver;
  end;

  if FGameState = gtWait then exit;


  {  Description  }
  DXDraw.Surface.Fill(0);
  
    //DXDraw.Surface.Canvas.Release;
    for i1 := low(FSprites) to high(FSprites) do
    begin
      for j1 := low(FSprites[0]) to high(FSprites[0]) do
      begin
        if not(FSprites[i1][j1].dead) and (FSprites[i1][j1].MonoSprite<>nil) then
        begin
        if DXDraw.CanDraw then
        BackImage.Items[FStep-1].StretchDraw(DXDraw.Surface,Rect(FSprites[i1][j1].X,    //FSprites[i1][j1].Y,FSprites[i1][j1].X+FImageW+7,
                    FSprites[i1][j1].Y,FSprites[i1][j1].X+FBackImageW,
                    FSprites[i1][j1].Y+FBackImageH),0);
        end;
      end
    end;

    //DXDraw.Surface.Canvas.Release;

    for i1 := low(FSprites) to high(FSprites) do
    begin
      for j1 := low(FSprites[0]) to high(FSprites[0]) do
      begin
        if not(FSprites[i1][j1].dead) and (FSprites[i1][j1].MonoSprite<>nil) then
        try
        if DXDraw.CanDraw then
        ImageList.Items[FSprites[i1][j1].ImageID].StretchDraw(DXDraw.Surface,Rect(FSprites[i1][j1].X,    //FSprites[i1][j1].Y,FSprites[i1][j1].X+FImageW+7,
                    FSprites[i1][j1].Y,FSprites[i1][j1].X+FImageW,
                    FSprites[i1][j1].Y+FImageH),0);
        //FSprites[i1][j1].MonoSprite.DoDraw;
        except
        end;
      end
    end;

  //DXSpriteEngine.Draw;
  //DXDraw.Surface.Canvas.Lock;
  if DXDraw.CanDraw then
  with DXDraw.Surface.Canvas do
  begin
    //DXDraw.Surface.Canvas.Release;
    if (FTime <> 0) and (FGameState = gtRuning) then
    begin

      //out information
      Brush.Color := clwhite;
      try
      except
      end;
      FillRect(Rect((Screen.width -FProgressW) div 2-1,FProgressT-1,
              (Screen.width -FProgressW) div 2 + FProgressW+1,
              FProgressT + FProgressH+1));

      Brush.Style := bsSolid;
      Brush.Color := FProgressC;
      FillRect(Rect((Screen.width -FProgressW) div 2,FProgressT,
              (Screen.width -FProgressW) div 2 + round(FProgressW*((FTime - FLostTime) / FTime)),
              FProgressT + FProgressH));
      Brush.Color := clblack;
      try
      if Font <> nil then
      begin
      DXDraw.Surface.Canvas.Font.Color := clwhite;
      DXDraw.Surface.Canvas.Font.Size := 9;
      end;
      except
      end;
      textout(10,10,FStrs[10]+inttostr(FTime - FLostTime)) ; //+':'+inttostr(100-inctime)
      textout(10,25,FStrs[11]+inttostr(FHint)+FStrs[13]);
      textout(10,40,FStrs[12]+inttostr(FWash)+FStrs[13]);
      textout(10,55,NumStrs[FStep]);
      //textout(10,70,FStrs[14]+inttostr(ImageCount)+FStrs[15]);
      //textout(10,85,FStrs[16]+inttostr(OneImageCount div 2)+FStrs[18]);
      //if DXSpriteEngine.Engine.Count > 0 then
        //textout(10,105,FStrs[17]+inttostr(DXSpriteEngine.Engine.Count div 2)+FStrs[18]);

      DrawRegInfo;

      try
      if Font <> nil then
      begin
      Font.Color := clyellow;
      Font.Size := 12;
      end;
      except
      end;
      if FStep < 10 then
        textout((Screen.width -textwidth(FStrs[FStep])) div 2,FProgressT
          + FProgressH + 10,FStrs[FStep])
      else
        textout((Screen.width -textwidth(FStrs[42])) div 2,FProgressT
          + FProgressH + 10,FStrs[42]);
      try
      Font.Color := clRed;
      Font.Size := 12;
      except
      end;
      textout((Screen.width -FProgressW) div 2 + FProgressW + 20,FProgressT,
              'Scores : '+inttostr(FScore));

      //out Random Envent
      if (FRanEventID.ID > 0) and (FRanEventID.ID < high(RanEventName)) then
      begin
        textout((Screen.width -textwidth(FRanEventName[FRanEventID.ID])) div 2,FProgressT
          + FProgressH + 10+textheight('A')+10,FRanEventName[FRanEventID.ID]+' '+inttostr(FRanEventID.Add));
        inc(incTime1);
         if incTime1 >= (3000 div DXTimer1.Interval) then
         begin
          incTime1 := 0;
          FRanEventID.ID := -1;
         end;
      end;
    end;
  end;

  //draw focuse
  for i := low(FocusedSprite) to high(FocusedSprite) do
  begin
    if FocusedSprite[i].ID = - 1 then continue;
    if DXDraw.CanDraw then
    with DXDraw.Surface.Canvas do
    begin
      Brush.Style := bsClear;

      try
      Pen.Color := clred;
      Pen.Width := 3;
      except
      end;
      R := Rect(FocusedSprite[i].X+3,FocusedSprite[i].Y+3,
                                FocusedSprite[i].X+FImageW-2,FocusedSprite[i].Y+FImageH-2);
      try
      Pen.Color := clblack;
      except
      end;
      PolyLine([Point(R.Left, R.Bottom), Point(R.Left, R.Top),
        Point(R.Right, R.Top)]);
      Pen.Color := clwhite;
      PolyLine([Point(R.Right, R.Top), Point(R.Right, R.Bottom),
        Point(R.Left, R.Bottom)]);
    end;
  end;
  //draw hint
  for i := low(FFirstRoadPoint) to high(FFirstRoadPoint) do
  begin
    if not(FFirstRoadPoint[i].show) then break;
    if DXDraw.CanDraw then
    with DXDraw.Surface.Canvas do
    begin
      inc(incTime2);
      Brush.Style := bsClear;
      try
      Pen.Color := clred;
      Pen.Width := 3;
      except
      end;
      R := Rect(FFirstRoadPoint[i].X+3,FFirstRoadPoint[i].Y+3,
                                FFirstRoadPoint[i].X+FImageW-2,FFirstRoadPoint[i].Y+FImageH-2);
      try
      Pen.Color := clwhite;
      except
      end;
      PolyLine([Point(R.Left, R.Bottom), Point(R.Left, R.Top),
        Point(R.Right, R.Top)]);
      try
      Pen.Color := clblack;
      except
      end;
      PolyLine([Point(R.Right, R.Top), Point(R.Right, R.Bottom),
        Point(R.Left, R.Bottom)]);
      //Release;
    end;
    if incTime2 >= (1200 div DXTimer1.Interval) then
    begin
      FFirstRoadPoint[0].show := false;
      FFirstRoadPoint[1].show := false;
      incTime2 := 0;
    end;
  end;

  if (FGameState = gtRuning) and (DXSpriteEngine.Engine.Count = 0)  then
  begin
    if DXDraw.CanDraw then
    with DXDraw.Surface.Canvas do
    begin
    try
      Font.Size := 30;
      Font.Color := clred;
    except
    end;
      if FStep < 10 then
        TextOut((Screen.width - TextWidth(NumStrs[FStep+1])) div 2,
          (DXDraw.Height - TextHeight('第')) div 2,NumStrs[FStep+1]);
    end;

    inc(incTime1);
    if incTime1 >= (500 div DXTimer1.Interval) then
    begin
      incTime1 := 0;
      DoPassStep;
      CurLostIndex := 0;
    end;
  end;
  DXDraw.Surface.Canvas.Release;
  try
    DXDraw.Flip;
  except
  end

  finally
    //Application.HandleMessage;
  end;
end;

procedure TForm1.DXDrawMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  FX := X;
  FY := Y;

  if Button = mbLeft then
    FocusedSprites(X,Y)
  else if Button = mbRight then
    UnFocusedSprite;
  //Form1.DXInput.Mouse.Update;
  //DXInput.Update;
end;

procedure TForm1.FocusedSprites(AX, AY: integer);
var
  ID,i,j: integer;
begin
    //FocusedSprite[1].ID := ID;
  if FGameState <> gtRuning then
    exit;
  //InitializeID;

  for i := low(FSprites) to high(FSprites) do
  begin
    for j := low(FSprites[0]) to high(FSprites[0]) do
    begin
      if FSprites[i][j].Dead then continue;
      with FSprites[i][j].MonoSprite do
      begin
        if (Form1.FX >= X) and (Form1.FX <= X+FImageW)
        and (Form1.FY >= Y) and (Form1.FY <= Y+FImageH) then
        begin
          if (FocusedSprite[1].XID = i) and (FocusedSprite[1].YID = j) then
          begin
            if FocusedSprite[1].ID <> -1 then
              FocusedSprite[1].ID := -1
            else
            begin
              FocusedSprite[1].ID := 1;
              FocusedSprite[1].ImageID := FSprites[i][j].MonoSprite.ImageID;
            end;
            {FocusedSprite[1].X := FocusedSprite[0].X;
            FocusedSprite[1].Y := FocusedSprite[0].Y;
            FocusedSprite[1].ID := FocusedSprite[0].ID;
            FocusedSprite[1].ImageID := FocusedSprite[1].ImageID;
            FocusedSprite[1].XID := FocusedSprite[0].XID;
            FocusedSprite[1].YID := FocusedSprite[0].YID;  }
            //if FocusedSprite[1].ID = -1 then
            Continue;
          end
          else if (FocusedSprite[0].XID = i) and (FocusedSprite[0].YID = j) then
          begin
            if FocusedSprite[0].ID <> -1 then
              FocusedSprite[0].ID := -1
            else
            begin
              FocusedSprite[0].ID := 1;
              FocusedSprite[0].ImageID := FSprites[i][j].MonoSprite.ImageID;
            end;
            {if FocusedSprite[1].ID <> -1 then
            begin
            FocusedSprite[0].X := FocusedSprite[1].X;
            FocusedSprite[0].Y := FocusedSprite[1].Y;
            FocusedSprite[0].ID := FocusedSprite[1].ID;
            FocusedSprite[0].ImageID := FocusedSprite[1].ImageID;
            FocusedSprite[0].XID := FocusedSprite[1].XID;
            FocusedSprite[0].YID := FocusedSprite[1].YID;
            end; }
            //if FocusedSprite[0].ID = -1 then
            Continue;
          end;

          //if FocusedSprite[0].ID = TMonoSprite(DXSpriteEngine.Engine[i]).ID then
          //begin
            //FocusedSprite[0].ID := -1;
            //Continue;
          //end;

          if FocusedSprite[1].ID <> -1 then
          begin
          FocusedSprite[0].X := FocusedSprite[1].X;
          FocusedSprite[0].Y := FocusedSprite[1].Y;
          FocusedSprite[0].ID := FocusedSprite[1].ID;
          FocusedSprite[0].ImageID := FocusedSprite[1].ImageID;
          FocusedSprite[0].XID := FocusedSprite[1].XID;
          FocusedSprite[0].YID := FocusedSprite[1].YID;
          end;

          FocusedSprite[1].X := round(X);
          FocusedSprite[1].Y := round(Y);
          FocusedSprite[1].ID := FSprites[i][j].MonoSprite.ID;
          FocusedSprite[1].ImageID := FSprites[i][j].MonoSprite.ImageID;
          FocusedSprite[1].XID := i;//FSprites[i][j].MonoSprite.XID;
          FocusedSprite[1].YID := j;//FSprites[i][j].MonoSprite.YID;
          if FMusic then
          DXWaveList1.Items.Find('Alert').Play(false);

          break;
        end;
      end;
    end;
  end;
  DeadSprite;
end;

procedure TForm1.DeadSprite;
  procedure Dead;
  begin
    //InitializeID;
    if (FRoadPoint[0].throut ) and (FRoadPoint[1].throut) then
    begin
      if FSprites[FocusedSprite1[0].XID][FocusedSprite1[0].YID].dead then exit;
      FSprites[FocusedSprite1[0].XID][FocusedSprite1[0].YID].dead := true;
      FSprites[FocusedSprite1[1].XID][FocusedSprite1[1].YID].dead := true;

      FSprites[FocusedSprite1[0].XID][FocusedSprite1[0].YID].MonoSprite.Dead;
      FSprites[FocusedSprite1[1].XID][FocusedSprite1[1].YID].MonoSprite.Dead;
      //DXSpriteEngine.Dead;
      FSprites[FocusedSprite1[0].XID][FocusedSprite1[0].YID].MonoSprite.ISDead := true;
      FSprites[FocusedSprite1[1].XID][FocusedSprite1[1].YID].MonoSprite.ISDead := true;
      FocusedSprite[0].ID := -1;
      FocusedSprite[1].ID := -1;
      FocusedSprite[1].ImageID := -1;
      FocusedSprite[0].ImageID := -1;

      FRoadPoint[0].throut := false;
      FRoadPoint[1].throut := false;
      FRoadPoint[0].ID := -1;
      FRoadPoint[1].ID := -1;

      inc(CurLostIndex);

      //Move Sprite
      if DXSpriteEngine.Engine.Count > 2 then
      MoveSprite(FStep);

      //get score
      if FLostTime = 0 then FLostTime := 1;
      FScore := FScore +  round(((CurLostIndex*FOneTime)/FLostTime)*FOneSpriteScore);

      if FMusic then
        DXWaveList1.Items.Find('recycle').Play(false);

      //random event
      Randomize;
      if RandomRange(1,50+(FLevel-1)*50) in[1..4] then
        RandomEvent;

      getFirstRaodPoint(FFirstRoadPoint[0],FFirstRoadPoint[1],false);
      //InitializeID;
      if DXDraw.CanDraw then
      DrawLine(FocusedSprite[0].X + FImageW div 2,FocusedSprite[0].Y+ FImageH div 2,
            FocusedSprite[1].X + FImageW div 2,FocusedSprite[1].Y+FImageH div 2,DXDraw.Surface.Canvas,CLGreen);
    end;
  end;
begin
  if (FocusedSprite[0].ID = - 1) or (FocusedSprite[1].ID = -1) then exit;
  if (FocusedSprite[0].XID = FocusedSprite[1].XID ) and
  (FocusedSprite[0].YID = FocusedSprite[1].YID ) then exit;

  AssignPoint(FocusedSprite[0],FocusedSprite1[0]);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品在线电影| 欧美日韩午夜影院| 精品国产91久久久久久久妲己| 婷婷国产在线综合| 精品区一区二区| 国产综合一区二区| 国产精品每日更新| 日本韩国欧美三级| 日韩精品成人一区二区三区| 欧美一二三四区在线| 国产尤物一区二区| 亚洲色图欧美在线| 欧美一区二区三区在| 国产精品一级片在线观看| 亚洲色欲色欲www| 欧美日韩国产bt| 国产麻豆精品久久一二三| 1024国产精品| 日韩视频在线你懂得| 成人午夜免费电影| 丝袜亚洲另类丝袜在线| 久久久久亚洲蜜桃| 欧美午夜精品一区| 精品中文av资源站在线观看| 综合网在线视频| 欧美变态口味重另类| 99精品视频免费在线观看| 无码av免费一区二区三区试看| 久久免费看少妇高潮| 欧美伊人久久久久久久久影院| 精品一区二区免费| 亚洲免费av观看| 26uuu亚洲综合色| 欧美网站一区二区| 国产精品一区二区不卡| 亚洲国产aⅴ成人精品无吗| 国产喷白浆一区二区三区| 欧美日韩三级一区| 成人精品高清在线| 久久精品国产网站| 亚洲成人午夜影院| 国产精品成人免费| 久久久久久亚洲综合影院红桃| 欧美三区在线观看| 99久久综合精品| 国内精品国产成人国产三级粉色 | 欧美综合久久久| 国产福利一区二区三区| 国产三级久久久| 丁香网亚洲国际| 成人av网在线| 激情综合色丁香一区二区| 一区二区三区四区乱视频| 国产人久久人人人人爽| 欧美成人艳星乳罩| 欧美美女一区二区在线观看| 91蜜桃婷婷狠狠久久综合9色| 国产九九视频一区二区三区| 麻豆成人综合网| 午夜一区二区三区视频| 亚洲欧美视频一区| 国产精品乱码妇女bbbb| 国产亚洲一区二区在线观看| 日韩一级免费观看| 欧美一区二区视频网站| 欧美高清视频不卡网| 欧美亚洲日本一区| 色欧美片视频在线观看在线视频| 白白色 亚洲乱淫| 成人免费高清在线| 不卡的看片网站| 国产 欧美在线| 成人黄色小视频| 成人综合在线观看| 波多野结衣在线aⅴ中文字幕不卡| 丁香五精品蜜臀久久久久99网站| 国产成人三级在线观看| 国产成人一区二区精品非洲| 国产乱子轮精品视频| 国产麻豆精品久久一二三| 国产成人免费在线| 岛国av在线一区| www.在线成人| 在线视频国产一区| 欧美日高清视频| 日韩午夜精品视频| 久久综合99re88久久爱| 欧美激情在线看| 中文字幕视频一区| 亚洲一区二区偷拍精品| 天天色 色综合| 老司机精品视频导航| 国产乱码一区二区三区| 成人免费视频caoporn| 色综合天天综合给合国产| 在线视频国产一区| 欧美一区二区福利视频| 久久欧美一区二区| 亚洲欧美日韩精品久久久久| 亚洲成人免费在线观看| 久久精品国产亚洲一区二区三区| 国产白丝精品91爽爽久久| 91丝袜高跟美女视频| 精品视频一区三区九区| 日韩欧美色电影| 中文子幕无线码一区tr| 亚洲高清三级视频| 麻豆精品视频在线观看| 成人久久久精品乱码一区二区三区| 色婷婷一区二区三区四区| 欧美电影一区二区| 国产亚洲福利社区一区| 一区二区三区精密机械公司| 秋霞电影一区二区| 国产91富婆露脸刺激对白| 在线这里只有精品| 26uuuu精品一区二区| 亚洲男人的天堂网| 激情五月婷婷综合网| 色久综合一二码| 久久午夜色播影院免费高清| 亚洲精品国产无套在线观| 久久精品国产精品亚洲红杏| 91丨九色丨黑人外教| 91精品国产福利在线观看| 中文字幕乱码日本亚洲一区二区 | 久久国产剧场电影| 91在线观看下载| 精品久久久久99| 亚洲高清一区二区三区| 懂色av一区二区三区蜜臀| 日韩欧美久久一区| 亚洲精品国产成人久久av盗摄 | 精品美女一区二区| 亚洲国产精品一区二区www| 懂色av噜噜一区二区三区av| 欧美丰满嫩嫩电影| 亚洲久草在线视频| 成人免费毛片嘿嘿连载视频| 日韩丝袜情趣美女图片| 亚洲国产成人精品视频| 91看片淫黄大片一级在线观看| 精品少妇一区二区三区在线视频| 亚洲国产精品一区二区久久恐怖片 | 久久久久成人黄色影片| 亚洲gay无套男同| 91麻豆精品秘密| 中文av一区二区| 国产一区福利在线| 日韩欧美国产系列| 喷白浆一区二区| 91精品黄色片免费大全| 亚洲午夜成aⅴ人片| 91老师国产黑色丝袜在线| 国产精品天干天干在观线| 韩国精品一区二区| 日韩精品一区二区在线| 蜜臀av性久久久久蜜臀av麻豆| 欧美精品久久一区| 亚洲va国产va欧美va观看| 欧美特级限制片免费在线观看| 亚洲欧美视频一区| 91蝌蚪国产九色| 亚洲精品乱码久久久久久久久 | 中文字幕国产一区| 国产成人精品亚洲日本在线桃色| 精品美女在线观看| 国产在线视视频有精品| www亚洲一区| 懂色av中文一区二区三区| 国产视频一区在线播放| 国产福利精品一区二区| 国产欧美精品国产国产专区| 成人免费视频播放| 亚洲免费观看高清完整版在线| 日本高清不卡视频| 亚洲综合免费观看高清完整版在线| 在线观看成人免费视频| 亚洲mv在线观看| 日韩欧美成人激情| 国产99精品在线观看| 亚洲欧洲日韩av| 欧美性受xxxx| 美女性感视频久久| 久久久99久久精品欧美| www.久久久久久久久| 一区二区在线免费| 欧美一区二区三区视频| 国产久卡久卡久卡久卡视频精品| 久久久国产精品麻豆| 91麻豆福利精品推荐| 日韩中文字幕区一区有砖一区| 日韩欧美一级特黄在线播放| 国产成人免费网站| 亚洲综合色自拍一区| 日韩精品一区二区三区四区| 国产成人丝袜美腿| 午夜欧美在线一二页| 久久毛片高清国产| 91黄色激情网站|