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

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

?? main.pas

?? Delphi寫的連連看
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
  AssignPoint(FocusedSprite[1],FocusedSprite1[1]);

  if (FocusedSprite[0].ImageID = FocusedSprite[1].ImageID) and not(selfDo) then
  begin
    if (FocusedSprite[0].ID = - 1) or (FocusedSprite[1].ID = -1) then exit;
    getRaodPoint(FocusedSprite[0],FocusedSprite[1],FRoadPoint[0],FRoadPoint[1]);
    Dead;

  end;
  if selfDo then
    Dead;
end;

procedure TForm1.InitializeID;
var
  i1,j1: integer;
begin
  //DXSpriteEngine

  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) then
      with FSprites[i1][j1].MonoSprite do
      begin
        //IsDead := FSprites[i1][j1].dead;
        //FSprites[i1][j1].ImageID := ImageID;
        XID := i1;
        YID := j1;
        //if ImageID > 60 then
        //begin
          //showmessage('');
        //end;
        ImageID := FSprites[i1][j1].ImageID;
        //FSprites[i1][j1].X := round(X);
        //FSprites[i1][j1].Y := round(Y);
      end;
    end;
  end;
end;

procedure TForm1.DrawLine(X1,Y1,X2,Y2: integer;ACanvas: TCanvas;PenColor: TColor);
var
  i,j: integer;
  temSpriteXY: TSpriteXY;
begin

  //Form1.DXInput.Joystick.Effects.Find('eff1').Start;
  //ACanvas.Pen.Width := 2;
  //FClose := true;
  try
  for j := 0 to 4 do
  begin
    try
    ACanvas.Pen.Color := PenColor;
    //Application.HandleMessage;
    ACanvas.Pen.Width := 3;
    ACanvas.Pen.Color := PenColor;
    except
    end;
    //ACanvas.MoveTo(FRoadPoint[0].X+FImageW div 2,FRoadPoint[0].Y+FImageH div 2);
    //ACanvas.LineTo(FRoadPoint[1].X+FImageW div 2,FRoadPoint[1].Y+FImageH div 2);
    ACanvas.Polyline([Point(FRoadPoint[0].X+FImageW div 2,FRoadPoint[0].Y+FImageH div 2)
                  ,Point(FRoadPoint[1].X+FImageW div 2,FRoadPoint[1].Y+FImageH div 2)]);

    if FRoadPoint[0].X = FRoadPoint[1].X then
    begin
      if not(selfDo) then
      Application.HandleMessage;
      begin
      //ACanvas.Pen.Width := 4;
      try
      ACanvas.Pen.Color := PenColor;
      except
      end;
      if FocusedSprite[0].Y > FocusedSprite[1].Y then
      begin
        AssignPoint(FocusedSprite[0],temSpriteXY);
        AssignPoint(FocusedSprite[1],FocusedSprite[0]);
        AssignPoint(temSpriteXY,FocusedSprite[1]);
      end;
      if FRoadPoint[0].Y > FRoadPoint[1].Y then
      begin
        AssignPoint(FRoadPoint[0],temSpriteXY);
        AssignPoint(FRoadPoint[1],FRoadPoint[0]);
        AssignPoint(temSpriteXY,FRoadPoint[1]);
      end;
      ACanvas.Polyline([Point(FRoadPoint[0].X+FImageW div 2,FRoadPoint[0].Y+FImageH div 2)
                  ,Point(FocusedSprite[0].X+FImageW div 2,FocusedSprite[0].Y+FImageH div 2)]);
      ACanvas.Polyline([Point(FRoadPoint[1].X+FImageW div 2,FRoadPoint[1].Y+FImageH div 2)
                  ,Point(FocusedSprite[1].X+FImageW div 2,FocusedSprite[1].Y+FImageH div 2)]);

      {
        if FRoadPoint[0].Y = Y1 - FImageH div 2 then
        begin
          ACanvas.MoveTo(FRoadPoint[0].X+FImageW div 2,FRoadPoint[0].Y+FImageH div 2);
          ACanvas.LineTo(X1,FRoadPoint[0].Y+FImageH div 2);
        end
        else if FRoadPoint[0].Y = Y2 - FImageH div 2 then
        begin
          ACanvas.MoveTo(FRoadPoint[0].X+FImageW div 2,FRoadPoint[0].Y+FImageH div 2);
          ACanvas.LineTo(X2,FRoadPoint[0].Y+FImageH div 2);
        end;

        if FRoadPoint[1].Y = Y1 - FImageH div 2 then
        begin
          ACanvas.MoveTo(FRoadPoint[1].X+FImageW div 2,FRoadPoint[1].Y+FImageH div 2);
          ACanvas.LineTo(X1,FRoadPoint[1].Y+FImageH div 2);
        end
        else if FRoadPoint[1].Y = Y2 - FImageH div 2 then
        begin
          ACanvas.MoveTo(FRoadPoint[1].X+FImageW div 2,FRoadPoint[1].Y+FImageH div 2);
          ACanvas.LineTo(X2,FRoadPoint[1].Y+FImageH div 2);
        end; }
      end
    end;
    if FRoadPoint[0].Y = FRoadPoint[1].Y then
    begin
      if not(selfDo) then
      Application.HandleMessage;
      //ACanvas.Pen.Width := 4;
      try
      ACanvas.Pen.Color := PenColor;
      except
      end;
      if FocusedSprite[0].X > FocusedSprite[1].X then
      begin
        AssignPoint(FocusedSprite[0],temSpriteXY);
        AssignPoint(FocusedSprite[1],FocusedSprite[0]);
        AssignPoint(temSpriteXY,FocusedSprite[1]);
      end;
      if FRoadPoint[0].X > FRoadPoint[1].X then
      begin
        AssignPoint(FRoadPoint[0],temSpriteXY);
        AssignPoint(FRoadPoint[1],FRoadPoint[0]);
        AssignPoint(temSpriteXY,FRoadPoint[1]);
      end;
      ACanvas.Polyline([Point(FRoadPoint[0].X+FImageW div 2,FRoadPoint[0].Y+FImageH div 2)
                  ,Point(FocusedSprite[0].X+FImageW div 2,FocusedSprite[0].Y+FImageH div 2)]);
      ACanvas.Polyline([Point(FRoadPoint[1].X+FImageW div 2,FRoadPoint[1].Y+FImageH div 2)
                  ,Point(FocusedSprite[1].X+FImageW div 2,FocusedSprite[1].Y+FImageH div 2)]);
      {if FRoadPoint[0].X = X1 - FImageW div 2 then
      begin
        ACanvas.MoveTo(FRoadPoint[0].X+FImageW div 2,FRoadPoint[0].Y+FImageH div 2);
        ACanvas.LineTo(FRoadPoint[0].X+FImageW div 2,Y1);
      end
      else if FRoadPoint[0].X = X2 - FImageW div 2 then
      begin
        ACanvas.MoveTo(FRoadPoint[0].X+FImageW div 2,FRoadPoint[0].Y+FImageH div 2);
        ACanvas.LineTo(FRoadPoint[0].X+FImageW div 2,Y2);
      end;

      if FRoadPoint[1].X = X1 - FImageW div 2 then
      begin
        ACanvas.MoveTo(FRoadPoint[1].X+FImageW div 2,FRoadPoint[1].Y+FImageH div 2);
        ACanvas.LineTo(FRoadPoint[1].X+FImageW div 2,Y1);
      end
      else if FRoadPoint[1].X = X2 - FImageW div 2 then
      begin
        ACanvas.MoveTo(FRoadPoint[1].X+FImageW div 2,FRoadPoint[1].Y+FImageH div 2);
        ACanvas.LineTo(FRoadPoint[1].X+FImageW div 2,Y2);
      end;  }
    end;
  end;

  //DXDraw.Surface.Canvas.Release;
  finally
  fClose := false;
  end;
end;

procedure TForm1.getXY(Count: integer; var x, y: integer);
var
  i,temY,temX,temNum,temNum1,temNum2,temNum3,temNum4: integer;
begin
  if Count = 1 then
  begin
  x := 1;
  y := 1;
  exit;
  end;
  y := 1;
  temNum2 := Count;
  for i := 1 to Count do
  begin
    temNum := i ;
    temNum4 := Count mod i;
    temNum1 := Count div i;
    if temNum4 = 0 then
    begin
      temNum3 := temNum1 - temNum;
      if (temNum3 >= 0) and (temNum3 <= temNum2) then
      begin
        temNum2 := temNum3;
        temY := temNum;
        temX := temNum1;
      end;
    end;
    if (temY > y) and (temY <> y) then
      y := temY;
  end;
  x := temX;
  y := temY;
end;

constructor TForm1.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  FShowRegTime := 0;
  FShowReg := true;

  FRanEventID.ID := -1;
  FGameState := gtWait;

  Language := ltchs;
  ChangeLanguge(Language);

  FBackMusic := true;
  FMusic := true;

  FLevel := 1;

  FImageW := 50;
  FImageH := 38;

  FProgressW := 300;
  FProgressH := 20;
  FProgressT := 10;
  FProgressC := CLRed;



  //DXWaveList1.Items.Find('backmusic').Play(false);
  //DXWaveList1.Items[1].Looped := true;
  PlayBackMusic(true);

  DXDraw.Top := 0;
end;

procedure TForm1.InitializeSprite;
var
  i,j: integer;
begin
  for i := 0 to DXSpriteEngine.Engine.Count - 1 do
  begin
    DXSpriteEngine.Engine[i].Dead;
  end;


  for i := low(FSprites) to high(FSprites)  do
  begin
    for j := low(FSprites[i]) to high(FSprites[i]) do
    begin
      FSprites[i][j].dead := false;
      FSprites[i][j].MonoSprite := TMonoSprite.Create(DXSpriteEngine.Engine);
        with FSprites[i][j].MonoSprite do
        begin
          Image := ImageList.Items.Find(inttostr(FSprites[i][j].ImageID));
          ImageID := FSprites[i][j].ImageID;
          ID := FSprites[i][j].ID;
          X := FSprites[i][j].X;
          Y := FSprites[i][j].Y;
          XID := i;//FSprites[i][j].XID;
          YID := j;//FSprites[i][j].YID;
          Z := 2;
          Width := FImageW;// div 2;
          Height := FImageH;// div 2
        end;
    end;
  end;
end;

procedure TForm1.Randomsprite;
var
  i,j: integer;
  m,n,m1,n1: integer;
  ImageID: integer;
  temSpriteXY1: TSpriteXY;
  procedure AssignPoint1(SourPoint: TSpriteXY;
    var DesPoint: TSpriteXY);
  begin
      DesPoint.ID := SourPoint.ID;
      DesPoint.ImageID := SourPoint.ImageID;
      //DesPoint.XID := SourPoint.XID;
      //DesPoint.YID:= SourPoint.YID;
      DesPoint.dead:= SourPoint.dead;
      DesPoint.show:= SourPoint.show;
      //DesPoint.throut:= SourPoint.throut;
      //if not(SourPoint.dead) then
      try
        DesPoint.MonoSprite := SourPoint.MonoSprite;
      except
      end;
  end;

  procedure AdjustSprite;
  var
    i1,j1: integer;
  begin
    for i1 := low(FSprites) to high(FSprites) do
    begin
      for j1 := low(FSprites[0]) to high(FSprites[0]) do
      begin
        begin
          if FSprites[i1][j1].dead then continue;
          with FSprites[i1][j1].MonoSprite do
          begin
            X := FSprites[i1][j1].X;
            Y := FSprites[i1][j1].Y;
            XID := i1;
            YID := j1;
            //FSprites[i1][j1].ID := ID;
          end;
        end;
      end;
    end;
  end;
begin
  randomize;
  //if Washing then exit;
  //Washing := true;
  try
  //DXSpriteEngine.Dead;
  for i := low(FSprites) to high(FSprites)*high(FSprites[low(FSprites)])*2  do
  begin
    randomize;
    n := random(high(FSprites)+1);
    m := random(high(FSprites[low(FSprites)])+1);
    while FSprites[n][m].dead do
    begin
      n := random(high(FSprites)+1);
      m := random(high(FSprites[low(FSprites)])+1);
    end;


    randomize;
    n1 := random(high(FSprites)+1);
    m1 := random(high(FSprites[low(FSprites)])+1);
    while FSprites[n][m].dead do
    begin
      n1 := random(high(FSprites)+1);
      m1 := random(high(FSprites[low(FSprites)])+1);
    end;

    if not(FSprites[n][m].dead) and not(FSprites[n1][m1].dead)  then
    begin
      AssignPoint1(FSprites[n][m],temSpriteXY1);
      AssignPoint1(FSprites[n1][m1],FSprites[n][m]);
      AssignPoint1(temSpriteXY1,FSprites[n1][m1]);
    end;
  end;
  AdjustSprite;
  finally
    //Washing := false;
  end;

end;

procedure TForm1.getRaodPoint(StPoint, EndPoint: TSpriteXY;
                  var RoadPoint1,RoadPoint2: TSpriteXY);
var
  i,j,i1,j1,AX,AY,minX,minY,minX1,minY1,tem,MaxX,MaxY,Addi,Addj: integer;
  temPoint,temPoint1: TSpriteXY;
  procedure IniPoint;
  begin
    RoadPoint1.ID := -1;
    RoadPoint2.ID := -1;
  end;

  function getPassX(FromX,ToX: integer;down: boolean=false): boolean;
  var
    i,j,i1,j1: integer;
  begin
    result := false;
    if down then
      for i := ToX downto FromX do  //low(FSprites)-1  //high(FSprites)+1
      begin
        Addi := 0; addj := 0;
        if i = stPoint.XID then
          Addi := 1
        else
          Addi := 0;
        if i = endPoint.XID then
          Addj := -1
        else
          Addj := 0;
           //else Addi := 0;

        for j := miny + Addi to MaxY + Addj do
        begin
          IniPoint;
          if (i <> -1) and (i <> high(FSprites)+1) then
          begin
            if not(FSprites[i][j].dead) then
              break;
            if (j = MaxY + Addj) then
            begin
              //get one road
              AssignPoint(FSprites[i][stPoint.YID],RoadPoint1);
              AssignPoint(FSprites[i][endPoint.YID],RoadPoint2);
            end;
          end
          else if i = -1 then
          begin
            //get one road
            AssignPoint(FSprites[i+1][stPoint.YID],RoadPoint1);
            AssignPoint(FSprites[i+1][endPoint.YID],RoadPoint2);
            RoadPoint1.XID := -1;
            RoadPoint2.XID := -1;
            RoadPoint1.X := FSprites[i+1][stPoint.YID].X - FImageH;
            RoadPoint2.X := FSprites[i+1][endPoint.YID].X - FImageH;
          end
          else if i = high(FSprites)+1 then
          begin
            //get one road
            AssignPoint(FSprites[i-1][stPoint.YID],RoadPoint1);
            AssignPoint(FSprites[i-1][endPoint.YID],RoadPoint2);
            RoadPoint1.XID := high(FSprites)+1;
            RoadPoint2.XID := high(FSprites)+1;
            RoadPoint1.X := FSprites[i-1][stPoint.YID].X + FImageH ;
            RoadPoint2.X := FSprites[i-1][endPoint.YID].X + FImageH;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品―色哟哟| 日韩一区二区免费高清| 国产精品视频观看| av中文字幕不卡| 国产精品国产三级国产a| 成人免费高清视频在线观看| 亚洲天堂免费在线观看视频| 欧美亚一区二区| 午夜电影久久久| 精品久久久久香蕉网| 国产成人精品免费| 一区av在线播放| 91精品国产黑色紧身裤美女| 久久99久久久久久久久久久| 久久精品一区二区三区不卡| 色一情一乱一乱一91av| 天堂资源在线中文精品| 精品久久国产97色综合| 成人高清视频在线| 亚洲国产成人av网| 久久综合资源网| 91女神在线视频| 蜜臀av亚洲一区中文字幕| 国产欧美日韩在线| 欧美日韩国产系列| 国产露脸91国语对白| 亚洲激情一二三区| 欧美成人猛片aaaaaaa| 成人av电影在线播放| 日韩av电影免费观看高清完整版 | 日韩视频永久免费| av在线一区二区三区| 日韩经典一区二区| 国产欧美精品一区二区三区四区| 色综合色狠狠天天综合色| 久久精品国产一区二区三区免费看| 中文字幕av一区二区三区高 | 久久精品一区二区三区不卡牛牛| 91理论电影在线观看| 美女性感视频久久| 伊人婷婷欧美激情| 国产偷国产偷亚洲高清人白洁| 欧美亚洲禁片免费| av在线不卡观看免费观看| 麻豆精品视频在线观看视频| 一区二区在线观看视频在线观看| 久久午夜电影网| 这里只有精品免费| 欧洲在线/亚洲| 99久久精品一区| 国产高清精品久久久久| 蜜臀av性久久久久蜜臀aⅴ流畅| 中文字幕一区在线观看视频| 久久先锋影音av鲁色资源 | 9191国产精品| 一本一道波多野结衣一区二区| 国产专区综合网| 日日噜噜夜夜狠狠视频欧美人 | 亚洲精品国产a| 国产精品高潮久久久久无| 久久精品夜夜夜夜久久| 欧美成人国产一区二区| 欧美日韩亚洲综合一区二区三区 | 色妹子一区二区| av激情综合网| 成人美女视频在线观看18| 国产精品自拍网站| 国产一区二区三区四区五区入口| 天天综合色天天综合| 亚洲资源中文字幕| 亚洲一区二区三区自拍| 亚洲综合在线电影| 亚洲女同ⅹxx女同tv| 亚洲美女视频在线| 亚洲综合在线视频| 亚洲成人你懂的| 首页欧美精品中文字幕| 日韩精品乱码免费| 蜜桃视频在线观看一区| 美女诱惑一区二区| 国产又黄又大久久| 国产一区二区在线电影| 国产成人精品一区二| 国产99久久久国产精品潘金| 东方aⅴ免费观看久久av| 国产福利91精品| heyzo一本久久综合| 91视视频在线观看入口直接观看www | 成人一区二区三区| av成人动漫在线观看| 91麻豆swag| 欧美色综合影院| 91精品啪在线观看国产60岁| 精品欧美黑人一区二区三区| 久久久不卡网国产精品二区| 国产精品国产三级国产aⅴ入口| 亚洲欧美aⅴ...| 视频一区二区国产| 国产美女av一区二区三区| 成人一区二区三区视频| 91国偷自产一区二区三区成为亚洲经典 | 日韩一区二区影院| 久久久久久亚洲综合影院红桃 | 亚洲六月丁香色婷婷综合久久 | 欧美日本韩国一区| 欧美xxxx老人做受| 国产精品理论片| 午夜精品一区二区三区免费视频| 老司机精品视频导航| 99久久久精品免费观看国产蜜| 欧美日韩精品免费观看视频 | 欧美日韩在线播放一区| 精品伦理精品一区| 亚洲美女屁股眼交3| 免费高清不卡av| av电影天堂一区二区在线| 91精品久久久久久久久99蜜臂| 国产午夜精品福利| 亚洲国产综合人成综合网站| 国产一区二区三区久久悠悠色av | 欧美高清dvd| 欧美极品美女视频| 日韩在线卡一卡二| 99久久精品免费精品国产| 日韩亚洲欧美一区二区三区| 国产精品不卡在线| 麻豆精品在线视频| 91国在线观看| 久久久综合网站| 日韩av二区在线播放| 91免费国产视频网站| 欧美tickle裸体挠脚心vk| 亚洲一区二区欧美| 成人app在线观看| 精品国产乱码91久久久久久网站| 亚洲免费资源在线播放| 国产精品一区一区三区| 欧美福利电影网| 亚洲黄色录像片| 成人免费高清在线观看| 精品国产污污免费网站入口 | 51久久夜色精品国产麻豆| 亚洲天堂福利av| 国产精品91xxx| 日韩三级视频中文字幕| 亚洲成av人综合在线观看| 91麻豆免费看| 国产精品久久久久久福利一牛影视| 精品一区中文字幕| 日韩三级电影网址| 日韩高清不卡在线| 欧美日韩dvd在线观看| 一片黄亚洲嫩模| 色欧美片视频在线观看在线视频| 中文字幕国产精品一区二区| 国产精品99久久久久久有的能看| 日韩欧美国产麻豆| 日本成人在线网站| 欧美一级高清大全免费观看| 亚洲一区二区三区四区不卡| 色婷婷综合久久久久中文 | 色偷偷久久一区二区三区| 国产精品色哟哟网站| 国产成人av一区二区三区在线 | 国产精品午夜在线观看| 高清在线成人网| 国产亚洲欧美在线| 国产福利91精品| 中文乱码免费一区二区| 成人精品高清在线| 中文字幕一区av| 91麻豆蜜桃一区二区三区| 日韩美女久久久| 色婷婷综合久色| 亚洲v精品v日韩v欧美v专区| 欧美肥妇毛茸茸| 久久精品国产网站| 国产日韩av一区二区| 成人aaaa免费全部观看| 亚洲人成影院在线观看| 欧美系列日韩一区| 三级欧美在线一区| 精品裸体舞一区二区三区| 国产精品77777竹菊影视小说| 中文字幕不卡的av| 色乱码一区二区三区88| 午夜久久久影院| 欧美精品一区二区三区高清aⅴ| 国产一区二区三区免费播放| 国产精品女主播av| 欧美日韩一区视频| 九九在线精品视频| 国产精品福利影院| 欧美另类变人与禽xxxxx| 久久国产欧美日韩精品| 中文字幕免费不卡| 欧美伊人久久久久久久久影院| 日本亚洲电影天堂| 欧美激情一区二区三区在线| 色8久久精品久久久久久蜜|