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

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

?? unit1.~pas

?? 用delphi 7寫的貪食蛇游戲的源代碼
?? ~PAS
?? 第 1 頁 / 共 2 頁
字號(hào):
    gamerepaint;
    move(glassworksheet,oldglassworksheet,sizeof(glassworksheet));
  end;
end;

procedure TSnake.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  direction: Tdirect;
begin
  case key of
    vk_up: direction := mbup;
    vk_down: direction := mbdown;
    vk_left: direction := mbleft;
    vk_right: direction := mbright;
    vk_space:
    begin
      btpauseClick(self);
      exit;
    end;
    vk_return:
    begin
      btcontrolclick(self);
      exit;
    end;
  end;
  if (originaldirect = mbup) and (direction = mbdown) then exit;
  if (originaldirect = mbdown) and (direction = mbup) then exit;
  if (originaldirect = mbright) and (direction = mbleft) then exit;
  if (originaldirect = mbleft) and (direction = mbright) then exit;
  glassworksheet[headofsnake.x][headofsnake.y].direct := direction;
  oldglassworksheet[headofsnake.x][headofsnake.y].direct := direction;
end;

procedure TSnake.generatefood;
var
  i,j:byte;
begin
  repeat
    i := random(glasswidth) + 1;
    j := random(glassheight) + 1;
  until (oldglassworksheet[i][j].value = 0) and (glassworksheet[i][j].value =0);
  glassworksheet[i][j].value := 26;
end;

procedure TSnake.drawfood(x,y: byte);
var
  glassrect: TRect;
begin
  canvas.Brush.Color := clblack;
  glassrect := rect(glassleft+(x-1)*unitwidth,glasstop+(y-1)*unitheight,glassleft+x*unitwidth,glasstop+y*unitheight);
  canvas.CopyRect(glassrect,gameimage.Canvas,rect(0,84,13,97));
end;

procedure TSnake.initailizegame;
var
  i,j: Integer;
begin
  for i := 1 to glasswidth do
    for j := 1 to glassheight do
    begin
      if glassworksheet[i][j].value > 0 then
      begin
        case glassworksheet[i][j].value of
          0: drawblank(i,j);
          1,2,3,4: drawhead(i,j,glassworksheet[i][j].value);
          5,6,7,8: drawmouth(i,j,glassworksheet[i][j].value - 4);
          9,10,11,12: drawtail(i,j,glassworksheet[i][j].value - 8);
          13,14,15,16: drawcorner(i,j,glassworksheet[i][j].value - 12);
          17,18,19,20: drawbody(i,j,glassworksheet[i][j].value - 16);
          21,22,23,24,25: drawspecial(i,j,glassworksheet[i][j].value - 20);
          26:
          begin
            drawfood(i,j);
            label3.Caption := inttostr(totalscore);
          end;
          27: drawwall(i,j);
        end;
      end;
    end;
end;

procedure TSnake.drawbody(x, y , value: byte);
var
  glassrect: TRect;
begin
  glassrect := rect(glassleft+(x-1)*unitwidth,glasstop+(y-1)*unitheight,glassleft+x*unitwidth,glasstop+y*unitheight);
  Canvas.CopyRect(glassrect,gameimage.Canvas,rect((value-1)*14,56,value*14-1,69));
end;

procedure TSnake.drawwall(x, y: byte);
var
  glassrect: TRect;
begin
  canvas.Brush.Color := clblack;
  glassrect := rect(glassleft+(x-1)*unitwidth,glasstop+(y-1)*unitheight,glassleft+x*unitwidth,glasstop+y*unitheight);
  Canvas.FillRect(glassrect);
end;

procedure TSnake.generatespecial;
var
  i,j,k:byte;
begin
  repeat
    i := random(glasswidth) + 1;
    j := random(glassheight) + 1;
  until (oldglassworksheet[i][j].value = 0) and (glassworksheet[i][j].value =0);
  k := random(5)+21;
  glassworksheet[i][j].value := k;
  special.x := i;
  special.y := j;
  specialtype := k-20;
end;

procedure TSnake.drawspecial(x, y ,value: byte);
var
  glassrect: TRect;
begin
  glassrect := rect(glassleft+(x-1)*unitwidth,glasstop+(y-1)*unitheight,glassleft+x*unitwidth,glasstop+y*unitheight);
  Canvas.CopyRect(glassrect,gameimage.Canvas,rect((value-1)*14,70,value*14-1,83));
end;

procedure TSnake.btcontrolClick(Sender: TObject);
begin
  if not gamestart then
  begin
    totalscore := 0;
    label3.Caption := '0';
    btcontrol.Caption := '停止游戲';
    move(selectedmap,glassworksheet,sizeof(selectedmap));
    move(selectedmap,oldglassworksheet,sizeof(selectedmap));
    generatesnake;
    generatefood;
    initailizegame;
    movementtimer.interval := currentlevel;
    movementtimer.Enabled := true;
    specialfoodtimer.Enabled := true;
    gamestart := true;
    pause := false;
  end
  else
  begin
    fillchar(glassworksheet,sizeof(glassworksheet),0);
    fillchar(oldglassworksheet,sizeof(oldglassworksheet),0);
    formpaint(self);
    btcontrol.Caption := '新游戲';
    movementtimer.Enabled := false;
    specialfoodtimer.Enabled := false;
    gamestart := false;
  end;
end;

procedure TSnake.SpecialfoodtimerTimer(Sender: TObject);
begin
  if specialfoodtimer.Interval = 10000 then
  begin
    generatespecial;
    cout := 20;
    specialfoodtimer.Interval := 200;
  end else
  begin
    dec(cout);
    case glassworksheet[special.x][special.y].value of
      21,22,23,24,25:
        if cout < 0 then
        begin
          glassworksheet[special.x][special.y].value := 0;
          specialfoodtimer.Interval := 10000;
        end
        else
        begin
          time.Caption := inttostr(cout);
          specialinbox;
        end;
    else
    begin
      specialfoodtimer.Interval := 10000;
      inc(totalscore,specialscore);
      label3.Caption := inttostr(totalscore);
    end;
    end;
  end;
end;

procedure TSnake.drawhead(x, y, value: byte);
var
  glassrect: TRect;
begin
  glassrect := rect(glassleft+(x-1)*unitwidth,glasstop+(y-1)*unitheight,glassleft+x*unitwidth,glasstop+y*unitheight);
  Canvas.CopyRect(glassrect,gameimage.Canvas,rect((value-1)*14,0,value*14-1,13));
end;

procedure TSnake.drawblank(x, y: byte);
var
  glassrect: TRect;
begin
  canvas.Brush.Color := clwhite;
  glassrect := rect(glassleft+(x-1)*unitwidth,glasstop+(y-1)*unitheight,glassleft+x*unitwidth,glasstop+y*unitheight);
  Canvas.FillRect(glassrect);
end;

procedure TSnake.drawcorner(x, y, value: byte);
var
  glassrect: TRect;
begin
  glassrect := rect(glassleft+(x-1)*unitwidth,glasstop+(y-1)*unitheight,glassleft+x*unitwidth,glasstop+y*unitheight);
  Canvas.CopyRect(glassrect,gameimage.Canvas,rect((value-1)*14,42,value*14-1,57));
end;

procedure TSnake.drawtail(x, y, value: byte);
var
  glassrect: TRect;
begin
  glassrect := rect(glassleft+(x-1)*unitwidth,glasstop+(y-1)*unitheight,glassleft+x*unitwidth,glasstop+y*unitheight);
  Canvas.CopyRect(glassrect,gameimage.Canvas,rect((value-1)*14,28,value*14-1,41));
end;

procedure TSnake.drawmouth(x, y, value: byte);
var
  glassrect: TRect;
begin
  glassrect := rect(glassleft+(x-1)*unitwidth,glasstop+(y-1)*unitheight,glassleft+x*unitwidth,glasstop+y*unitheight);
  Canvas.CopyRect(glassrect,gameimage.Canvas,rect((value-1)*14,14,value*14-1,27));
end;

procedure TSnake.N8Click(Sender: TObject);
begin
  currentlevel := gamelevel[1];
  eatscore := gamescore[1];
  label1.Caption := '等級(jí)1';
end;

procedure TSnake.N21Click(Sender: TObject);
begin
  currentlevel := gamelevel[2];
  eatscore := gamescore[2];
  label1.Caption := '等級(jí)2';
end;

procedure TSnake.N31Click(Sender: TObject);
begin
  currentlevel := gamelevel[3];
  eatscore := gamescore[3];
  label1.Caption := '等級(jí)3';
end;

procedure TSnake.N41Click(Sender: TObject);
begin
  currentlevel := gamelevel[4];
  eatscore := gamescore[4];
  label1.Caption := '等級(jí)4';
end;

procedure TSnake.N51Click(Sender: TObject);
begin
  currentlevel := gamelevel[5];
  eatscore := gamescore[5];
  label1.Caption := '等級(jí)5';
end;

procedure TSnake.N61Click(Sender: TObject);
begin
  currentlevel := gamelevel[6];
  eatscore := gamescore[6];
  label1.Caption := '等級(jí)6';
end;

procedure TSnake.specialinbox;
var
  drawrect: TRect;
begin
  drawrect := rect(420,160,433,173);
  if specialexit then
  begin
    canvas.Brush.Color := clbtnface;
    Canvas.FillRect(drawrect);
    specialexit := false;
  end else
  begin
    Canvas.CopyRect(drawrect,gameimage.Canvas,rect((specialtype-1)*14,70,specialtype*14-1,83));
    specialexit := true;
  end;
end;

procedure TSnake.generatesnake;
begin
  glassworksheet[10][5].value := 3;
  glassworksheet[10][5].direct := mbright;
  glassworksheet[9][5].value := 18;
  glassworksheet[9][5].direct := mbright;
  glassworksheet[8][5].value := 18;
  glassworksheet[8][5].direct := mbright;
  glassworksheet[7][5].value := 11;
  glassworksheet[7][5].direct := mbright;
  headofsnake.x := 10;
  headofsnake.y := 5;
  tailofsnake.x := 7;
  tailofsnake.y := 5;
  originaldirect := mbright;
  move(glassworksheet,oldglassworksheet,sizeof(glassworksheet));
end;

procedure TSnake.N11Click(Sender: TObject);
begin
  move(gamemap[1],selectedmap,sizeof(selectedmap));
  label2.Caption := '地圖1';
end;

procedure TSnake.N22Click(Sender: TObject);
begin
  move(gamemap[2],selectedmap,sizeof(selectedmap));
  label2.Caption := '地圖2';
end;

procedure TSnake.btupClick(Sender: TObject);
begin
  fackkey := vk_up;
  formkeydown(self,fackkey,fackShiftState);
end;

procedure TSnake.btleftClick(Sender: TObject);
begin
  fackkey := vk_left;
  formkeydown(self,fackkey,fackShiftState);
end;

procedure TSnake.btdownClick(Sender: TObject);
begin
  fackkey := vk_down;
  formkeydown(self,fackkey,fackShiftState);
end;

procedure TSnake.btrightClick(Sender: TObject);
begin
  fackkey := vk_right;
  formkeydown(self,fackkey,fackShiftState);
end;

procedure TSnake.btpauseClick(Sender: TObject);
begin
  if not gamestart then exit;
  if pause then
  begin
    pause := false;
    movementtimer.Enabled := true;
    specialfoodtimer.Enabled := true;
  end else
  begin
    pause := true;
    movementtimer.Enabled := false;
    specialfoodtimer.Enabled := false;
  end;
end;

procedure TSnake.N2Click(Sender: TObject);
begin
  btcontrolClick(self);
end;

procedure TSnake.N4Click(Sender: TObject);
begin
  btcontrolClick(self);
end;

procedure TSnake.N3Click(Sender: TObject);
begin
  btpauseClick(self);
end;

procedure TSnake.N9Click(Sender: TObject);
begin
  aboutbox.Show;
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频日韩视频在线观看| 首页国产欧美久久| 成人妖精视频yjsp地址| 欧美大白屁股肥臀xxxxxx| 美女精品一区二区| 欧美精品一区男女天堂| 国产精品1区2区| 国产精品不卡视频| 在线日韩一区二区| 美女视频黄免费的久久| 久久嫩草精品久久久久| 99热这里都是精品| 洋洋av久久久久久久一区| 7777精品伊人久久久大香线蕉经典版下载 | 精品av综合导航| 国产乱色国产精品免费视频| 欧美国产视频在线| 欧美色成人综合| 久久99热这里只有精品| 亚洲国产精品av| 欧美三级韩国三级日本一级| 美女视频黄a大片欧美| 国产精品视频yy9299一区| 欧美亚洲日本一区| 韩国三级中文字幕hd久久精品| 亚洲国产高清在线观看视频| 日本国产一区二区| 九色porny丨国产精品| 中文字幕一区二区三| 欧美一级爆毛片| 99re8在线精品视频免费播放| 香蕉成人啪国产精品视频综合网| 欧美草草影院在线视频| 91在线无精精品入口| 麻豆国产91在线播放| 亚洲日本一区二区| 欧美精品一区二区三| 一本色道a无线码一区v| 国产乱人伦偷精品视频免下载| 一区二区三区国产精华| 久久精品一区蜜桃臀影院| 欧美视频一区在线观看| 国产精品99久久久久久久女警| 亚洲精品成a人| 国产三级一区二区| 欧美日韩一区二区欧美激情| 风间由美一区二区三区在线观看| 视频一区国产视频| 亚洲美女视频在线| 国产欧美精品一区| 日韩欧美国产成人一区二区| 欧美亚洲丝袜传媒另类| 97超碰欧美中文字幕| 国产毛片精品一区| 日韩成人一级大片| 樱桃国产成人精品视频| 国产精品欧美久久久久无广告| 欧美成人高清电影在线| 欧美日韩午夜精品| 欧美亚洲综合网| 91小视频在线| www.亚洲免费av| 国产二区国产一区在线观看| 激情都市一区二区| 免费人成网站在线观看欧美高清| 亚洲老司机在线| 亚洲视频小说图片| 国产精品美女一区二区三区| 欧美精品一区二区三区蜜桃| 337p粉嫩大胆色噜噜噜噜亚洲| 3d动漫精品啪啪一区二区竹菊| 欧美理论片在线| 欧美色图天堂网| 在线观看日韩av先锋影音电影院| 一本色道久久综合亚洲aⅴ蜜桃 | 91精品国产一区二区三区蜜臀 | 亚洲色图制服诱惑| 中文字幕亚洲一区二区av在线| 国产欧美一区二区三区在线看蜜臀 | 2017欧美狠狠色| 久久久亚洲午夜电影| 久久精品亚洲麻豆av一区二区| 久久先锋影音av鲁色资源网| 久久奇米777| 国产色产综合色产在线视频| 亚洲国产精品99久久久久久久久| 国产欧美日韩三级| 中文字幕欧美区| 日韩伦理av电影| 一区二区三区欧美日韩| 亚洲一级二级在线| 丝袜诱惑制服诱惑色一区在线观看 | 成人午夜视频网站| av一区二区三区黑人| 91成人网在线| 3d成人动漫网站| 国产亚洲精品精华液| 亚洲欧洲国产日本综合| 综合电影一区二区三区| 亚洲国产欧美在线人成| 日韩精品一二三区| 国产综合久久久久久久久久久久 | 国产suv精品一区二区883| 丰满白嫩尤物一区二区| 91亚洲精品久久久蜜桃网站| 欧美亚洲国产一区在线观看网站| 欧美欧美午夜aⅴ在线观看| 精品国产污网站| 一区在线观看视频| 日韩高清在线电影| 国产成人精品免费视频网站| 色国产综合视频| 日韩久久精品一区| 一区在线观看视频| 午夜精品aaa| 风间由美中文字幕在线看视频国产欧美| 91蜜桃在线观看| 日韩午夜中文字幕| 亚洲天堂久久久久久久| 青青草伊人久久| a美女胸又www黄视频久久| 日韩一区二区三区观看| 中文字幕一区二区视频| 日本亚洲一区二区| thepron国产精品| 日韩欧美一区二区三区在线| 亚洲欧美在线aaa| 久久精品国产一区二区三| a亚洲天堂av| 2021久久国产精品不只是精品| 一区二区三区日韩欧美| 国产一区二区精品在线观看| 欧美性一二三区| 国产精品无人区| 激情六月婷婷久久| 欧美日韩dvd在线观看| 亚洲欧美一区二区三区国产精品| 麻豆精品视频在线观看视频| 色综合天天狠狠| 中文字幕欧美日本乱码一线二线| 免费看日韩a级影片| 91黄色免费版| 中文字幕制服丝袜一区二区三区| 看片网站欧美日韩| 欧美日韩国产综合久久| 亚洲视频中文字幕| 成人免费毛片aaaaa**| 久久综合色8888| 青青草原综合久久大伊人精品优势| 一本久久a久久精品亚洲| 国产精品第五页| 国产91精品精华液一区二区三区| 在线不卡一区二区| 亚洲电影第三页| 91久久精品一区二区三区| 国产精品美女一区二区在线观看| 极品美女销魂一区二区三区| 3atv一区二区三区| 视频一区二区三区在线| 欧美日高清视频| 亚洲成人激情av| 欧美人狂配大交3d怪物一区| 亚洲伦理在线免费看| 色综合天天做天天爱| 亚洲男女毛片无遮挡| 波多野结衣精品在线| 中文一区二区在线观看| 国产成人免费xxxxxxxx| 国产日产亚洲精品系列| 国产福利一区二区三区视频在线| 久久久www成人免费无遮挡大片| 久久99精品久久久久久国产越南 | 91麻豆国产福利精品| 亚洲视频在线观看三级| 91女人视频在线观看| 亚洲伦理在线精品| 欧美在线视频不卡| 天堂成人免费av电影一区| 91麻豆精品国产自产在线观看一区 | 久久99久久99小草精品免视看| 欧美本精品男人aⅴ天堂| 国产在线视视频有精品| 久久久久国产精品人| 成人免费av在线| 亚洲日本在线看| 欧美日韩精品久久久| 伦理电影国产精品| 国产亚洲成aⅴ人片在线观看| 成人在线视频一区二区| 亚洲视频一区二区在线| 欧美色图在线观看| 久久97超碰色| 一区精品在线播放| 精品视频一区二区三区免费| 久久99九九99精品| 中文字幕日韩一区| 欧美日韩小视频| 国产精品一卡二| 亚洲永久免费视频| 欧美va亚洲va香蕉在线|