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

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

?? unit1.~pas

?? 類似超級瑪麗模型之二(DELPHIX)
?? ~PAS
?? 第 1 頁 / 共 4 頁
字號:

      If Not blockcrash Then
        For i := 1 To 31 Do
        Begin
          If (Not crashy) And (isblock(trunc(xx + 16), trunc(yy + dy) + i) > 0) Then crashy := true;
          If (Not crashx) And (dx <> 0) Then
            If (isblock(trunc(xx + dx + 16), trunc(yy) + i) > 0) Then
              If i >= 26 Then
              Begin
                If ((dy = 0) Or (crashy)) And (dvy >= 0) Then
                Begin
                  If crashy Then
                  Begin                 // flytte fyren opp 1 hakk
                    crashy := false;
                    moveobject(obj, 0, -1, level + 1);
                    crashy := true;
                  End Else moveobject(obj, 0, -1, level + 1);
                End Else crashx := true;
              End Else crashx := true;
        End;

      If crashx Then dx := 0 Else xx := xx + dx;
      If crashy Then dy := 0 Else yy := yy + dy;
    End;
  End;

Begin
  If level < 32 Then
    With game.objs[obj] Do
      If (dvx <> 0) Or (dvy <> 0) Then
      Begin

        If abs(dvx) > abs(dvy) Then len := abs(dvx) Else len := abs(dvy);
//   len:=sqrt(sqr(dvx)+sqr(dvy));

        dx := dvx / len;
        dy := dvy / len;
        For l := 1 To trunc(len) Do movestep;
        dx := dx * frac(len);
        dy := dy * frac(len);
        movestep;
      End;
End;


Procedure TMainForm.ProcessObjs;
Var da, aa, i       : integer;

Begin
  For i := 0 To length(game.objs) - 1 Do
    With game.objs[i] Do
      If (typo <> 0) Then
        If (xx - game.scrollx > -100) And (xx - game.scrollx < mainform.dxdraw1.width + 100) And
          (yy - game.scrolly > -100) And (yy - game.scrolly < mainform.dxdraw1.height + 100) Or (typo = 4) Then
        Begin


          currentobj := i;
          invince := 0;
          If abs(vx) < 0.15 Then vx := 0; {}
{  if abs(vy)<0.25 then vy:=0;{}
          vx := vx + ax;
          vy := vy + ay;
          If typo = 30 Then ay := 1.20;

          aa := isblock(trunc(xx + 16), trunc(yy + 16));
          If (-aa >= 5 * 16) And (-aa < 8 * 16) Then Begin;
            If vy > 0 Then vy := vy / 2;
            vx := vx / 1.3;
            ay := 0.61;
          End Else
            If (vy > 1) And (length(tag) = 3) Then
              If (tag[1] + tag[2] = 'H0') Then
              Begin
                vy := vy / 1.2;
                ay := 0.51;
                tag[3] := inttostr((strtoint(tag[3]) + 1) Mod 4)[1];
              End;

          If vy > 12 Then vy := 12;
          If vy < -20 Then vy := -20;


          crashx := false;
          crashy := false;



          If typo = 4 Then
          Begin
            ay := 0;
            ax := 0;
 // Oppover/Nedover/Venstre/H鴜re
            If (trunc(xx) Shr 5 Shl 5 = trunc(xx)) Or (trunc(yy) Shr 5 Shl 5 = trunc(yy)) Then
            Begin
              da := -isblock(trunc(xx + 8), trunc(yy + 8));
              If da = 15 Then tag := 'H';
              If da = 12 Then tag := 'N';
              If da = 14 Then tag := 'V';
              If da = 13 Then tag := 'O';

              If da = 8 Then tag := 'NH';
              If da = 9 Then tag := 'OV';
              If da = 10 Then tag := 'NV';
              If da = 11 Then tag := 'OH';
            End;

            If tag = 'H' Then Begin;
              vx := liftspeed;
              vy := 0;
            End;
            If tag = 'V' Then Begin;
              vx := -liftspeed;
              vy := 0;
            End;
            If tag = 'O' Then Begin;
              vx := 0;
              vy := -liftspeed;
            End;
            If tag = 'N' Then Begin;
              vx := 0;
              vy := liftspeed;
            End;

            If tag = 'NH' Then Begin;
              vx := liftspeed;
              vy := liftspeed;
            End;
            If tag = 'OV' Then Begin;
              vx := -liftspeed;
              vy := -liftspeed;
            End;
            If tag = 'NV' Then Begin;
              vx := -liftspeed;
              vy := liftspeed;
            End;
            If tag = 'OH' Then Begin;
              vx := liftspeed;
              vy := -liftspeed;
            End;


            ax := 0;
            ay := 0;
          End;


          ox := xx;
          oy := yy;
          ovy := vy;
          If gravity Then ay := 0.6 Else ay := 0; // gravity
          MoveObject(i, vx, vy, 0);
//  if not crashx then
          vx := xx - ox;
//  if ovy=vy) and (not crashy) then
          vy := yy - oy;

          If crashx Then vx := 0;
          If crashy Then vy := 0;

          ax := 0;
          py := 0;

          If typo = 78 Then
          Begin
//    game.objs[handl].gravity:=false;
            py := -sin((xx * 0.77 + yy * 0.77 + stall) / 32 * 3.14) * 4;
            inc(stall);
          End;


          If (typo = 40) Or (typo = 41) Then
          Begin
            If stall < 50 Then inc(stall);
            py := -sin(stall / (8) * 3.14) * 4 * (50 - stall) / 50;
            ay := 0;
          End;




          If istrampo Then              // (trampo topp)
          Begin
            If stall < 100 Then inc(stall);
            py := sin(stall / (8) * 3.14) * 6 * (100 - stall) / 100 + 3;
          End;


          If typo = 1 Then
          Begin                         //Joffa da man
            If (yy > game.level.info.height * 32) Then killjoffa(i, i);
            If isbonus(round(xx), round(yy)) <> -1 Then
              With game.objs[isbonus(round(xx), round(yy))] Do
              Begin
                blockcrash := false;
                If (pic >= -4) And (pic <= -2) Then
                Begin
                  game.objs[i].tag := 'H' + tag + '1';
                  PlaySoundFX(xx, yy, 2);
                End Else PlaySoundFX(xx, yy, 3);

                typo := 98;
                stall := 255;
                invince := 255;
                vy := -2;
              End;
            If stall = 0 Then
            Begin
              Case isblock(trunc(xx + 16), trunc(yy + 32)) Of
                8 * 16..8 * 16 + 15:
                  Begin
                    killjoffa(i, i);
//       if tag='' then typo:=99 else tag:='';
//       pic:=8; stall:=255; vy:=-8;
                  End;
              End;
              Case isblock(trunc(xx + 16), trunc(yy - 1)) Of
                8 * 16..8 * 16 + 15:
                  Begin
                    killjoffa(i, i);
                  End;
              End;
            End;

            If stall > 0 Then dec(stall);
            If stall Shr 4 Shl 4 = stall Shr 3 Shl 3 Then invince := 128 Else invince := 0;
            If stall = 0 Then invince := 0;
            If length(tag) = 3 Then
              If (tag[1] = 'H') And (tag[2] <> '0') Then
              Begin
                tag[3] := inttostr((strtoint(tag[3]) + 1) Mod 4)[1];
              End;
//   if invince>0 then dec(invince);
   // player
            If vy > 2 Then If vy > 3 Then pic := 7 Else pic := 0;
            If vy < -2 Then If vy < 3 Then pic := 6 Else pic := 0;
          End;


          If typo = 30 Then
          Begin
            If crashx Then              //typo:=0;
              direction := integer(direction = 0);
            If direction = 0 Then vx := 12 Else vx := -12;
            ax := 0;
            If (isblock(trunc(xx + 12), trunc(vy + yy + 33)) > 0) Or
              (isblock(trunc(xx + 31 - 12), trunc(vy + yy + 33)) > 0) Then ay := -8;
            dec(stall, 4);
            invince := stall;
            If stall <= 0 Then typo := 0;
          End;
// ai
          If typo >= 100 Then
          Begin
            pic := pic - (typo - 100 + 7) * 16;
            If (random(4) = 0) And (crashx) Then direction := integer(direction = 0);

            If isblock(trunc(xx + 16), trunc(yy + 16)) = -15 Then direction := 0;
            If isblock(trunc(xx + 16), trunc(yy + 16)) = -14 Then direction := 1;

            If (isblock(trunc(xx + 16), trunc(vy + yy + 33)) > 0) Then
              If (typo = 103) And (random(4) = 0) Then Begin;
                ay := -6;
                PlaySoundFX(xx, yy, 0);
              End;


            If isblock(trunc(xx + 16), trunc(yy + 16)) = -13 Then
              If (isblock(trunc(xx + 16), trunc(vy + yy + 31)) > 0) Then Begin;
                vy := 0;
                ay := -8;
                PlaySoundFX(xx, yy, 0);
              End;

            If (stall = -500) Then stall := 20;

            If stall <= 0 Then
            Begin
//   if (crashy) and (random(5)=1) then stall:=20;
              If random(5) * random(5) * random(5) * random(5) = 1 Then stall := 20;
              If (random(5) * random(5) * random(5) = 1) Then
                If (isblock(trunc(xx + 16), trunc(vy + yy + 33)) > 0) Then Begin;
                  ay := -6;
                  PlaySoundFX(xx, yy, 0);
                End;

//
//   if direction=1 then begin;ax:=-0.35;end;
//   if direction=0 then begin;ax:=0.35;end;
              ax := 0.17;
              If typo = 104 Then ax := 0.18;
              If typo = 100 Then ax := 0.16;
              If typo = 102 Then ax := 0.19;

              ax := ax * (1 - direction * 2);
            End;
            dec(stall);

//  if invince>0 then dec(invince);
            If vx = 0 Then pic := 0 Else
            Begin
              pic := pic + 0.2;
              If pic >= 6 Then pic := 1;
            End;
            If vy > 2 Then If vy > 3 Then pic := 7 Else pic := 0;
            If vy < -2 Then If vy < 3 Then pic := 6 Else pic := 0;
            If (stall > 0) And (tag <> 'D谼') Then pic := 9;

            pic := pic + (typo - 100 + 7) * 16;
            If typo = 102 Then Begin;
              vy := 0;
              ay := 0;
            End;
          End;

          aa := isblock(trunc(xx + 16), trunc(yy + 16));
          If (-aa >= 5 * 16) And (-aa < 8 * 16) Then invince := 128;

          If typo = 1 Then
            If isdoor(round(xx), round(yy)) <> -1 Then
              LoadLevel(game.level.filename + game.objs[isdoor(round(xx), round(yy))].tag);


          If typo = 99 Then
          Begin
            If stall > 0 Then dec(stall, 3);
            If stall <= 0 Then typo := 0;
            If invince < stall Then invince := stall;
          End;

          If typo = 98 Then
          Begin
            vy := -2;
            If stall > 0 Then dec(stall, 4);
            If stall <= 0 Then typo := 0;
            If invince < stall Then invince := stall;
          End;

//  if typo<>4 then
          If crashy Then
          Begin
            If (typo = 1) And (pic = 7) Then vx := vx * 0.93
            Else vx := vx * 0.90;

          End Else vx := vx * 0.92;


{  if vy>1 then vy:=vy-0.10;
  if vy<-1 then vy:=vy+0.10;{}
        End;
End;

//var j,jj : integer;

Procedure ObjDraw;
Var i               : integer;
Begin
  For i := 0 To length(game.objs) - 1 Do
    With game.objs[i] Do
      If (typo <> 0) Then
        If (pic >= 0) Then
        Begin
          If (invince = 0) Then
            mainform.dximagelist1.items[2 + direction].Draw(mainform.dxdraw1.surface, trunc(xx) - game.scrollx, trunc(yy + py) - game.scrolly, trunc(pic + 0))
          Else
            mainform.dximagelist1.items[2 + direction].drawalpha(mainform.dxdraw1.surface, bounds(trunc(xx) - game.scrollx, trunc(yy + py) - game.scrolly, 32, 32), trunc(pic + 0), invince);

// Helmet draw
          If typo = 1 Then
          Begin
            If length(tag) = 3 Then
              If tag[1] = 'H' Then
              Begin
                mainform.dximagelist1.items[2 + direction].draw(mainform.dxdraw1.surface, trunc(xx) - game.scrollx, trunc(yy + py) - game.scrolly, 19);
                mainform.dximagelist1.items[2 + direction].draw(mainform.dxdraw1.surface, trunc(xx) - game.scrollx, trunc(yy + py) - game.scrolly - 32, 16 * 3 + strtoint(tag[2]) * 4 + strtoint(tag[3]));
              End;
          End;
        End Else                        //heiser
          mainform.dximagelist1.items[1 + direction].draw(mainform.dxdraw1.surface, trunc(xx) - game.scrollx, trunc(yy + py) - game.scrolly, trunc(-pic + 0))
End;




Procedure Resetlevel;
Var l, xx, yy       : integer;
Begin
  For l := 0 To game.level.info.layers - 1 Do
    For xx := 0 To game.level.info.width - 1 Do
      For yy := 0 To game.level.info.height - 1 Do
        game.level.l[l][xx, yy] := -1;
End;

Procedure ResetObjs;
Var i               : integer;
Begin
  For i := 0 To length(game.objs) - 1 Do
  Begin
    zeromemory(@game.objs[i], sizeof(game.objs[i]));
  End;
End;


Procedure BackgroundDraw(scrollx, scrolly, layer: integer);
Var dx, dy, sx, sy, xx, yy, w, h: integer;
  aa                : smallint;
Begin
  If layer = 0 Then
    If game.level.info.scrollbackground > 0 Then
    Begin
      w := mainform.dximagelist1.items[0].width;
      h := mainform.dximagelist1.items[0].height;
      sx := scrollx Div game.level.info.scrollbackground;
      sy := scrolly Div game.level.info.scrollbackground;
      dx := (sx Div w) * w;
      dy := (sy Div h) * h;
//  mainform.dxdraw1.surface.bltfast(0,0,bounds(sx-dx,sy-dy,640-sx+dx,480-sy+dy),DDBLTFAST_NOCOLORKEY or DDBLTFAST_WAIT,mainform.dximagelist1.items[0].patternsurfaces[0]);//or DDBLTFAST_WAIT
      mainform.dximagelist1.items[0].draw(mainform.dxdraw1.surface, (-sx) + dx, -sy + dy, 0);
      mainform.dximagelist1.items[0].draw(mainform.dxdraw1.surface, (-sx) + dx + w, -sy + dy, 0);
      mainform.dximagelist1.items[0].draw(mainform.dxdraw1.surface, (-sx) + dx + w, -sy + dy + h, 0);
      mainform.dximagelist1.items[0].draw(mainform.dxdraw1.surface, (-sx) + dx, -sy + dy + h, 0);
    End Else
      mainform.dxdraw1.surface.bltfast(0, 0, bounds(0, 0, 640, 480), DDBLTFAST_NOCOLORKEY Or DDBLTFAST_WAIT, mainform.dximagelist1.items[0].patternsurfaces[0]); //or DDBLTFAST_WAIT


  sx := scrollx Shr 5;
  sy := scrolly Shr 5;
  dx := -scrollx + sx Shl 5;
  dy := -scrolly + sy Shl 5;
  For xx := 0 To mainform.dxdraw1.display.width Shr 5 + 1 Do
    For yy := 0 To mainform.dxdraw1.display.height Shr 5 + 1 Do
    Begin
      aa := game.level.l[layer][(xx + sx) Mod game.level.info.width, (yy + sy) Mod game.level.info.height];
      If aa > -1 Then
      Begin
        mainform.dximagelist1.items[1].draw(mainform.dxdraw1.surface, xx Shl 5 + dx, yy Shl 5 + dy, aa);
      End Else
        If (-aa >= 16 * 5) And (-aa < 16 * 8) Then
        Begin
          mainform.dximagelist1.items[1].draw(mainform.dxdraw1.surface, xx Shl 5 + dx, yy Shl 5 + dy, -aa);
        End;
    End;
End;



Procedure TMainForm.PlayerInput(PlayerObj: integer; dxistates: tdxinputstates);
Var aa              : integer;
Begin
  Slide := False;

  If game.objs[playerobj].typo <> 1 Then exit;
  If (isLeft In dxistates) And Not (isDown In dxistates) Then
  Begin
    game.objs[PlayerObj].ax := -0.35;
    game.objs[PlayerObj].direction := 1;
  End;
  If (isRight In dxistates) And Not (isDown In dxistates) Then
  Begin
    game.objs[PlayerObj].ax := 0.35;
    game.objs[PlayerObj].direction := 0;
  End;

  If ((isright In dxistates) Or (isleft In dxistates)) And Not (isdown In dxistates) Then
    With game.objs[PlayerObj] Do
//  if vx=0 then pic:=0 else
    Begin
      pic := pic + 0.35;
      If pic >= 6 Then pic := 1;
    End Else game.objs[playerobj].pic := 0;

  If (isUp In dxistates) Then
    With game.objs[PlayerObj] Do
//  if (isblock(trunc(xx+16),trunc(vy+yy+33))>0) then
// if {(ovy>0) and} (isblock(trunc(xx+16),trunc(yy+33))>0) then
      If (crashy) And (ovy >= 0) Then

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡高清视频专区| 亚洲国产aⅴ天堂久久| 国产一区 二区 三区一级| 亚洲婷婷综合色高清在线| 不卡视频一二三| 亚洲一区二区三区在线播放| 欧美日本一区二区三区| 亚洲成人先锋电影| 欧美va亚洲va| 国产ts人妖一区二区| 自拍偷拍亚洲激情| 欧美天堂一区二区三区| 天天色天天操综合| 精品国产伦一区二区三区观看方式 | 三级久久三级久久| 欧美一级片在线观看| 国产一区二区成人久久免费影院| 欧美国产精品v| 91浏览器在线视频| 日韩二区三区四区| 久久精品人人爽人人爽| aa级大片欧美| 免费观看成人av| 国产精品国产三级国产三级人妇| 欧美色男人天堂| 精品在线免费观看| 国产精品美女久久久久久| 欧美色网站导航| 国产成人综合自拍| 性感美女久久精品| 2014亚洲片线观看视频免费| 99久久夜色精品国产网站| 日韩二区在线观看| 亚洲欧洲日韩女同| 欧美成人a∨高清免费观看| 成年人国产精品| 麻豆精品在线视频| 亚洲精品日韩专区silk| 久久综合九色综合欧美亚洲| 91黄色小视频| 成人综合在线网站| 麻豆精品一二三| 一区二区三区欧美| 国产欧美精品一区二区色综合朱莉| 欧美亚洲动漫另类| 成人av网站免费观看| 久久精品国产99久久6| 亚洲宅男天堂在线观看无病毒| ww久久中文字幕| 欧美精品18+| 色悠悠亚洲一区二区| 国产激情视频一区二区三区欧美 | 国产中文字幕精品| 亚洲午夜视频在线观看| 国产精品日产欧美久久久久| 日韩精品中文字幕在线一区| 欧美亚洲高清一区| 91激情在线视频| 99re免费视频精品全部| 高清不卡在线观看| 国产一本一道久久香蕉| 久久精品国产网站| 爽好久久久欧美精品| 亚洲一区二区三区四区在线观看 | 视频一区二区三区入口| 亚洲蜜桃精久久久久久久| 国产日韩一级二级三级| 久久久久一区二区三区四区| 日韩欧美一级片| 日韩午夜在线观看视频| 91精品国产综合久久小美女| 欧美日本国产视频| 欧美色倩网站大全免费| 欧美男女性生活在线直播观看| 91国偷自产一区二区开放时间| aaa亚洲精品| 91视视频在线观看入口直接观看www| 盗摄精品av一区二区三区| 国产精品99久久久久久久女警 | 亚洲尤物在线视频观看| 亚洲免费观看高清完整| 亚洲精品国产一区二区精华液| 亚洲精品水蜜桃| 亚洲一区二区三区四区在线| 午夜精品成人在线视频| 三级久久三级久久久| 美国一区二区三区在线播放| 精品一区二区三区香蕉蜜桃| 国产毛片精品国产一区二区三区| 国产麻豆一精品一av一免费| 成+人+亚洲+综合天堂| 一本色道**综合亚洲精品蜜桃冫| 91福利国产精品| 日韩欧美中文字幕公布| 久久久国产精品午夜一区ai换脸| 国产精品日日摸夜夜摸av| 亚洲综合免费观看高清完整版| 亚洲午夜久久久久久久久电影院 | 亚洲最大的成人av| 午夜精品久久久久久久蜜桃app| 无码av免费一区二区三区试看| 日本午夜一本久久久综合| 久久99精品一区二区三区| 国产精品影视天天线| 色系网站成人免费| 91精品国产综合久久国产大片| 精品精品欲导航| 中文字幕中文字幕一区| 亚洲成a人v欧美综合天堂下载| 另类综合日韩欧美亚洲| 不卡高清视频专区| 91麻豆精品国产91久久久久 | 亚洲男同性视频| 丝袜亚洲精品中文字幕一区| 国产福利一区在线观看| 在线观看视频欧美| 26uuu成人网一区二区三区| 亚洲精品va在线观看| 国产一区二区三区黄视频 | 国产福利精品导航| 在线观看亚洲成人| 国产欧美日本一区视频| 亚洲国产你懂的| 国产成人av电影在线播放| 欧美日韩午夜精品| 中文字幕永久在线不卡| 日本成人在线不卡视频| 91免费在线播放| 久久夜色精品国产噜噜av| 亚洲午夜激情网站| 99精品欧美一区二区三区小说| 欧美一区二区美女| 一区二区三区在线免费视频| 国产自产v一区二区三区c| 在线播放国产精品二区一二区四区 | av电影在线观看完整版一区二区| 91麻豆精品国产91久久久久久 | 蜜臀av性久久久久蜜臀av麻豆| 99re在线精品| 日本一区二区三区高清不卡| 日本va欧美va瓶| 欧美视频一区二区| 日韩伦理免费电影| 韩国av一区二区| 欧美电影免费观看高清完整版在| 亚洲一区二区欧美日韩| 97精品久久久久中文字幕| 久久久.com| 国产精品综合一区二区三区| 日韩欧美一二区| 天天综合天天做天天综合| 日本福利一区二区| 国产精品美女www爽爽爽| 精品亚洲欧美一区| 日韩三级伦理片妻子的秘密按摩| 亚洲国产色一区| 欧美三级在线播放| 亚洲免费av在线| 91国在线观看| 亚洲国产毛片aaaaa无费看| 日本国产一区二区| 亚洲一二三四在线| 欧美日韩三级在线| 日韩激情一二三区| 欧美一区二区三区在线视频| 日韩国产在线观看一区| 91精品国产综合久久精品性色| 秋霞av亚洲一区二区三| 日韩午夜激情av| 狠狠色综合日日| 国产日韩欧美精品在线| a4yy欧美一区二区三区| 亚洲女爱视频在线| 欧美日本国产一区| 久久精品免费看| 亚洲国产经典视频| 91免费看视频| 日韩av一区二区三区四区| 精品日韩欧美在线| 成人性视频网站| 亚洲伦在线观看| 欧美另类变人与禽xxxxx| 免费一级片91| 国产午夜精品一区二区三区四区| 成人av手机在线观看| 亚洲精品ww久久久久久p站| 欧美精品v国产精品v日韩精品| 精品一区二区三区蜜桃| 国产欧美日韩亚州综合| 一本到高清视频免费精品| 天天综合日日夜夜精品| 久久综合狠狠综合久久激情| 国产成人超碰人人澡人人澡| 亚洲欧美福利一区二区| 欧美人牲a欧美精品| 精品一区二区三区久久| 成人欧美一区二区三区视频网页| 欧美性高清videossexo| 精品一区二区免费在线观看| 亚洲国产精品99久久久久久久久|