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

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

?? main.pas

?? 一個很好玩的掃雷游戲
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
startclick(self);
end;

procedure TMainForm.Timer1Timer(Sender: TObject);
begin
t:=t+1;
if TStart=true then Nun_Clock_Change;
end;

procedure TMainForm.Edit1Change(Sender: TObject);
var rr:tregistry;
    s:string;
    rec:integer;
    nowtime:integer;
begin
Nun_Clock_Change;
nowtime:=t;
rr:=tregistry.Create;
if (edit1.text='0') and (errflag=0) then begin
timer1.Enabled:=false;
image2.picture:=image4.picture;
rr.OpenKey('挖雷', false);
rec:=rr.ReadInteger(regrec);
if (nowtime<rec) then
begin
s:=inputbox('挖雷','你創(chuàng)造了新記錄,請鍵入你的名字','');
if length(s)>0 then begin
   rr.WriteString(regname,s);
   rr.WriteInteger(regrec,nowtime);
   startclick(sender);
end;
if length(s)=0 then  startclick(sender);
rr.free;
end;
if (rec<=nowtime) then
if (application.messagebox('你贏了!','挖雷',MB_ok)=idok) then startclick(sender);
end;
end;


procedure TMainForm.InitForm(x,y:byte);
begin
image5.hide;
DrawBlocks(n,m);
image1.width:=n*16;
image1.height:=m*16;
panel2.Width:=n*16+8;
panel2.Height:=m*16+8;
panel1.Width:=n*16+8;
MainForm.width:=n*16+34;
MainForm.Height:=m*16+119;
panel4.left:=n*16-37;
image2.left:=n*8-8;
MainForm.Position:=poscreencenter;
RndMine(MainForm);
t:=0;
NumFlagMine:=0;
edit1.text:=inttostr(p);
timer1.Enabled:=False;
image2.Picture:=image7.Picture;
image1.Enabled:=true;
end;

procedure TMainForm.DrawBlocks(x,y:byte);
var i:byte;
begin
image1.Canvas.Brush.color:=clbtnface;
image1.Canvas.Rectangle(0,0,x*16-1,y*16-1);
with image1.Canvas do begin
     pen.style:=pssolid;
     pen.mode:=pmcopy;
for i:=0 to x-1 do begin
    pen.color:=$888888;
    moveto(i*16+14,1);
    lineto(i*16+14,y*16-2);
    end;
for i:=0 to y-1 do begin
    moveto(1,i*16+14);
    lineto(x*16-2,i*16+14);
    end;
for i:=0 to x-1 do begin
    pen.color:=$ffffff;
    moveto(i*16,0);
    lineto(i*16,y*16-2);
    end;
for i:=0 to y-1 do begin
    moveto(1,i*16);
    lineto(x*16-2,i*16);
    end;
for i:=0 to x-1 do begin
    pen.color:=0;
    moveto(i*16+15,0);
    lineto(i*16+15,y*16-1);
    end;
for i:=0 to y-1 do begin
    moveto(0,i*16+15);
    lineto(x*16-1,i*16+15);
    end;
end;
end;

procedure TMainForm.RndMine(sender:Tobject);
var i,j,k,l,num:integer;
    mine01:array of boolean;
label again;
begin
setlength(mine01,m*n);
errflag:=0;
Randomize;
for i:=0 to m*n-1 do
begin
mine01[i]:=false;
MineNumAroundBlock[i]:=0;
searched[i]:=false;
mineflagerr[i]:=false;
end;
for i:=0 to p-1 do
begin
mine[i,0]:=random(n);
again:
mine[i,1]:=random(m);
if mine01[mine[i,0]+n*mine[i,1]]=true then goto again;
mine01[mine[i,0]+n*mine[i,1]]:=true;
MineNumAroundBlock[mine[i,0]+n*mine[i,1]]:=9;
end;
setlength(mine01,0);
For i:= 0 To n - 1 do  begin
For j:= 0 To m - 1 do  begin
For k:= -1 To 1  do begin
For l:= -1 To 1  do begin
    if ((i+k)>=0) and ((i+k)<=n-1) and ((j+l)>=0) and ((j+l)<=m-1) then begin
    num:= i + k + (j + l) * n;
    If MineNumAroundBlock[i + j * n] <> 9 Then  MineNumAroundBlock[i + j * n]:= MineNumAroundBlock[i + j * n] +(MineNumAroundBlock[num]) div 9;
    end;
 end;
 end;
 end;
 end;
for i:=0 to m*n-1 do begin
  FlagNoMine[i]:=false;
  FlagAsMine[i]:=0;
end;
end;

procedure TMainForm.DrawX(x,y:byte);
begin
with image1.canvas do begin
     brush.color:=clbtnface;
     brush.Style:=bssolid;
     pen.Style:=pssolid;
     pen.color:=clbtnface;
     rectangle(16*x,16*y,16*x+16,16*y+16);
     DotLine(x*16,y*16,x*16,y*16+15);
     DotLine(x*16,y*16,x*16+15,y*16);
     Font.Color:=$ff;
     TextOut(x*16+4,y*16+2,'X');
  end;
end;

procedure TMainForm.DrawMineFlag(x,y:byte);
begin
with image1.canvas do begin
     pen.style:=pssolid;
     pen.color:=0;
     line(16*x+4,16*y+11,16*x+11,16*y+11);
     line(16*x+6,16*y+10,16*x+9,16*y+10);
     line(16*x+7,16*y+9,16*x+7,16*y+5);
     pen.Color:=$ff;
     line(16*x+4,16*y+5,16*x+8,16*y+5);
     line(16*x+4,16*y+4,16*x+8,16*y+4);
     line(16*x+4,16*y+3,16*x+8,16*y+3)
end;
end;

procedure TMainForm.ClearFlag(x,y:byte);
begin
with image1.Canvas do begin
     brush.color:=clbtnface;
     brush.Style:=bssolid;
     pen.Style:=pssolid;
     pen.color:=clbtnface;
     rectangle(16*x+3,16*y+3,16*x+12,16*y+13);
end;
end;

procedure TMainForm.DotLineDrawBlock(x,y:byte);
begin
with image1.canvas do
begin
     pen.Color:=clbtnface;
     Brush.color:=clbtnface;
     Brush.Style:=bssolid;
     Rectangle(16*x,16*y,16+16*x,16+16*y);
     DotLine(16*x ,y*16,16*x+15,y*16);
     DotLine(16*x,y*16,16*x,15+y*16);
end;
end;

procedure TMainForm.DrawAllMine(sender:tobject);
var i,j:integer;
    x,y:byte;
begin
for i:=0 to m*n-1 do begin
    x:=(i mod n);
    y:=(i div n);
if (FlagAsMine[i]=1) and (mineflagerr[i]=true) then DrawX(x,y);
end;
for i:=0 to p-1 do begin
    j:= mine[i,0] +n*mine[i,1];
    if  (FlagAsMine[j]=0) then image1.Canvas.CopyRect(rect(16*mine[i,0],16*mine[i,1],16*mine[i,0]+16,16*mine[i,1]+16),offscreen.canvas,source);
    // 用DrawaMine(...)和 image1.Canvas.CopyRect(...)畫出所有地雷,
    // 效果相同。較早時用地雷圖象數(shù)組畫所有地雷,速度太慢
     end;
end;

procedure TMainForm.line(x1,y1,x2,y2:integer);
begin
with image1.Canvas do begin
moveto(x1,y1);
lineto(x2,y2);
end;
end;

//注意:一定要x2>x1或y2>y1
//由于每個方塊只有16象素,所以
// 有以下的i:=0 to 7
procedure TMainForm.DotLine(x1,y1,x2,y2:integer);
var i:integer;
begin
if x1=x2 then begin
   for i:=0 to 7 do begin
   image1.canvas.pixels[x1,y1+i*2]:=$808080;
   end;
   end;
if y1=y2 then begin
   for i:=0 to 7 do begin
   image1.canvas.pixels[x1+i*2,y1]:=$808080;
   end;
   end;
end;

procedure TMainForm.DrawaMine(x,y:integer);
begin
with image1.Canvas do begin
     brush.color:=clbtnface;
     brush.Style:=bssolid;
     pen.Style:=pssolid;
     pen.color:=clbtnface;
     rectangle(16*x,16*y,16*x+16,16*y+16);
     DotLine(x*16,y*16,x*16,y*16+15);
     DotLine(x*16,y*16,x*16+15,y*16);
     pen.color:=0;
     brush.Color:=0;
     rectangle(16*x+6,16*y+6,16*x+11,16*y+11);
     line(16*x+4,16*y+8,16*x+13,16*y+8);
     line(16*x+8,16*y+4,16*x+8,16*y+13);
     pixels[16*x+5,16*y+5]:=0;
     pixels[16*x+11,16*y+11]:=0;
     pixels[16*x+5,16*y+11]:=0;
     pixels[16*x+11,16*y+5]:=0;
     pixels[16*x+7,16*y+7]:=$ffffff;
     end;
end;

procedure TMainForm.search(x,y:byte);
var aaa,k,l:integer;
    x1,y1:byte;
begin
    linkblock[link]:= x + y * n;
    searched[x + y * n]:= True;
For k:= -1 To 1 do begin
For l:= -1 To 1 do begin
  if ((x+k)>=0) and ((x+k)<=n-1) and ((y+l)>=0) and ((y+l)<=m-1) then begin
   aaa:= x + k + (l + y) * n;
//超出范圍則退出搜索
If (aaa < 0) Or (aaa >= m * n) Then  exit;
If (MineNumAroundBlock[aaa] = 0) And (searched[aaa]=False) Then begin
    link:=link + 1;
    linkblock[link]:= aaa;
    searched[aaa]:= True;
//遞歸
      x1:=x+k;y1:=y+l;
    search(x1, y1);
End;
End;
end;
end;
end;

procedure TMainForm.OpenBlocks(x,y: byte);
var j:integer;
    xx,yy:byte;
begin
search(x, y);
For j:= 0 To link do
begin
     xx:=(linkblock[j]) mod n;
     yy:=(linkblock[j]) div n;
     PressSafeBlock(xx,yy);
end;
    link:= 0;
End;

procedure TMainForm.PressSafeBlock(x,y:byte);
var index,k,l:integer;
    x1,y1,a,b,c:byte;
begin
    x1:=x;
    y1:=y;
    Index:= x + y * n;
if FlagAsMine[index]<>1 then begin
    FlagNoMine[Index]:= True;
    DotLineDrawBlock(x1, y1);
For k:= -1 To 1 do begin
For l:= -1 To 1 do begin
  if ((x1+k)>=0) and ((x1+k)<=n-1) and ((y1+l)>=0) and ((y1+l)<=m-1) then begin
  a:=MineNumAroundBlock[x1 + k + (l + y1) * n];
  b:=x1+k;
  c:=y1+l;
  If a>0 Then  begin
  PressDangerBlock(a,b,c);
  end;
  end;
End;
end;
end;
end;

procedure TMainForm.PressDangerBlock(nn,x,y:byte);
begin
if FlagAsMine[x+y*n]<>1 then begin
DotLineDrawBlock(x, y);
FlagNoMine[x + y * n]:= True;
     image1.canvas.pen.Color:=rgb(0,0,200);
     image1.canvas.Font.Color:=NumColor[nn];
    image1.canvas.Font.size:=8;
    image1.Canvas.Font.style:=[fsBold];
   image1.canvas.textout(16*x+4,2+y*16,inttostr(nn));
End;
end;

procedure TMainForm.Nun_Clock_Change;
var nbmp:tbitmap;
    ncs:string;
    nci:byte;
begin
nbmp:=tbitmap.Create;
Clock_MineNum[0]:=strtoint(edit1.text) div 10;
Clock_MineNum[1]:=strtoint(edit1.text) mod 10;
Clock_MineNum[4]:=t mod 10;
Clock_MineNum[2]:=t div 100;
Clock_MineNum[3]:=(t div 10)mod 10;
for nci:=0 to 4 do begin
if Clock_MineNum[nci]<>OldClock_MineNum[nci] then begin
ncs:='N'+inttostr(Clock_MineNum[nci]);
nbmp.Handle:=loadbitmap(hinstance,pchar(ncs));
case nci of
0:image8.Canvas.Draw(0,0,nbmp);
1:image9.Canvas.Draw(0,0,nbmp);
2:image10.Canvas.Draw(0,0,nbmp);
3:image11.Canvas.Draw(0,0,nbmp);
4:image12.Canvas.Draw(0,0,nbmp);
end;
end;
end;
nbmp.Free;
OldClock_MineNum[0]:=Clock_MineNum[0];
OldClock_MineNum[1]:=Clock_MineNum[1];
OldClock_MineNum[2]:=Clock_MineNum[2];
OldClock_MineNum[3]:=Clock_MineNum[3];
OldClock_MineNum[4]:=Clock_MineNum[4];
end;

procedure TMainForm.N1Click(Sender: TObject);
Var St:Array[0..255] of char;
begin
  ShellExecute(Handle,'open',StrPCopy(St,'http://personal.hb.cninfo.net/~gbh/'),nil,nil,SW_SHOW);
end;

end.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一卡二卡在线观看| 国产在线精品一区二区不卡了 | 欧美xxxxxxxx| 色婷婷一区二区| 在线欧美日韩精品| 日韩一区二区三区高清免费看看| www国产精品av| 欧美高清一级片在线| 亚洲精品国产一区二区精华液| 精品久久国产97色综合| 欧美日韩免费高清一区色橹橹| 成人免费看的视频| 激情都市一区二区| 东方aⅴ免费观看久久av| 精品中文字幕一区二区小辣椒| 亚洲三级电影全部在线观看高清| 国产精品伦一区| 亚洲视频你懂的| 亚洲欧美日本韩国| 国产精品国产自产拍高清av王其| 日韩一区有码在线| 亚洲精品国产精华液| 一区二区三区产品免费精品久久75| 青青国产91久久久久久| 日韩一区欧美小说| 亚洲在线免费播放| 日本亚洲三级在线| 国产高清视频一区| 欧美亚洲高清一区| 久久久三级国产网站| 国产精品久久久一本精品| 一区二区三区四区中文字幕| 不卡视频免费播放| 精品国产一区二区三区忘忧草| 欧美va亚洲va国产综合| 亚洲精品亚洲人成人网在线播放| 天天综合天天做天天综合| 日韩经典中文字幕一区| 日韩av不卡在线观看| 韩国欧美一区二区| 91麻豆精品国产综合久久久久久| 97久久精品人人澡人人爽| 久久女同互慰一区二区三区| 亚洲一线二线三线视频| 国产盗摄一区二区三区| 欧美理论电影在线| 国产精品护士白丝一区av| 久久99精品国产麻豆婷婷| 91九色最新地址| 成人免费在线播放视频| 久草精品在线观看| 成人午夜电影网站| 精品视频1区2区| www欧美成人18+| 久草这里只有精品视频| 欧美刺激午夜性久久久久久久| 久久久电影一区二区三区| 国产成人亚洲综合a∨婷婷图片 | 国产一区日韩二区欧美三区| 精品视频在线免费看| 麻豆精品国产91久久久久久| 欧美日韩一区三区| 亚洲不卡av一区二区三区| 日韩欧美国产电影| 成人h版在线观看| 日产国产欧美视频一区精品| 中文乱码免费一区二区| 国产成人鲁色资源国产91色综 | 99国产精品久| 综合激情成人伊人| 91成人国产精品| 国产在线视频一区二区三区| 亚洲视频一区二区免费在线观看 | 欧美刺激午夜性久久久久久久| 极品尤物av久久免费看| 日韩欧美黄色影院| 成人av网站免费观看| 亚洲欧美激情一区二区| 欧美午夜精品久久久| 日韩av一区二区三区四区| 久久理论电影网| 成人免费毛片app| 亚洲不卡在线观看| 午夜欧美视频在线观看| 久久久久亚洲蜜桃| 欧美丝袜丝交足nylons图片| 久久国产精品无码网站| 色久优优欧美色久优优| 午夜不卡av在线| 欧美激情一区二区三区四区| 日本韩国欧美一区| 国产成人午夜精品影院观看视频 | 亚洲免费视频中文字幕| 欧美自拍偷拍一区| 国内精品国产三级国产a久久| 亚洲1区2区3区视频| 日本久久电影网| 三级一区在线视频先锋 | 麻豆91精品视频| 久久久不卡影院| 欧美最新大片在线看| 国产在线日韩欧美| 国产一区二区三区不卡在线观看 | 麻豆精品一二三| 欧美日韩国产成人在线免费| 视频一区二区三区中文字幕| 久久综合色婷婷| 欧洲精品一区二区| 国产一区91精品张津瑜| 日韩毛片高清在线播放| 宅男在线国产精品| 99re在线精品| 久久精工是国产品牌吗| 亚洲精品少妇30p| 日韩免费性生活视频播放| 91麻豆文化传媒在线观看| 久久精品国产77777蜜臀| 亚洲一区二区三区四区中文字幕 | 精品婷婷伊人一区三区三| 国产精选一区二区三区| 亚洲福利一二三区| 国产精品国产自产拍在线| 欧美成人三级电影在线| 欧美性猛交xxxx乱大交退制版| 国产一区二区在线视频| 婷婷久久综合九色综合绿巨人 | 欧美日韩在线综合| 成人av午夜电影| 精品在线你懂的| 五月天激情综合网| 亚洲欧美经典视频| 亚洲国产精品成人综合 | 欧美成人高清电影在线| 欧美最猛性xxxxx直播| 成人高清免费在线播放| 精品在线播放午夜| 午夜精品久久久久久久| 亚洲欧美另类小说| 国产精品美女久久久久久| 精品美女一区二区三区| 欧美美女激情18p| 欧美综合色免费| 色爱区综合激月婷婷| 成人黄色国产精品网站大全在线免费观看 | 日本午夜精品视频在线观看| 亚洲精品免费电影| 自拍av一区二区三区| 国产日韩在线不卡| 久久久久久久久99精品| 日韩免费高清电影| 欧美一级片在线| 日韩一区二区在线观看视频播放| 欧美性极品少妇| 在线免费精品视频| 色综合 综合色| 色婷婷精品大在线视频| 99精品1区2区| 99精品欧美一区二区三区小说 | 午夜视黄欧洲亚洲| 三级在线观看一区二区| 亚洲成人动漫在线免费观看| 夜夜嗨av一区二区三区网页| 综合久久综合久久| 亚洲免费观看高清完整| 亚洲人亚洲人成电影网站色| 国产精品久线在线观看| 国产精品国模大尺度视频| 中文字幕一区日韩精品欧美| 国产精品毛片大码女人| 成人免费视频在线观看| 一区二区中文视频| 亚洲欧美另类在线| 一区二区免费在线| 午夜不卡在线视频| 美脚の诱脚舐め脚责91| 国产在线国偷精品产拍免费yy| 国内精品视频一区二区三区八戒| 国产一区二区三区免费在线观看| 国产麻豆精品久久一二三| 国产成人av福利| 91网上在线视频| 欧美亚洲国产一区二区三区 | 成人动漫视频在线| 欧美国产国产综合| 国产精品区一区二区三区| 中文字幕在线视频一区| 亚洲精品菠萝久久久久久久| 亚洲综合在线电影| 日韩精品欧美精品| 久久国产剧场电影| 国产成人精品三级麻豆| 91亚洲精品久久久蜜桃网站| 色伊人久久综合中文字幕| 欧洲精品在线观看| 精品欧美黑人一区二区三区| 国产亚洲女人久久久久毛片| 亚洲欧美一区二区视频| 亚洲成人动漫在线观看| 美女精品自拍一二三四| 高清国产午夜精品久久久久久|