国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

5子棋源代碼

5子棋源代碼

更新時間:2022-05-16 文章作者:未知 信息來源:網絡 閱讀次數:

unit Main;  

interface  

uses  
 Windows, Messages, SysUtils, Classes, Controls, Forms, Dialogs,  
 ExtCtrls, StdCtrls, ComCtrls, Buttons, Graphics, mmsystem;  

type  
 TForm1 = class(TForm)  
  StatusBar1: TStatusBar;  
  GroupBox1: TGroupBox;  
  GroupBox2: TGroupBox;  
  Panel1: TPanel;  
  Label1: TLabel;  
  BitBtn1: TBitBtn;  
  BitBtn2: TBitBtn;  
  Label3: TLabel;  
  Label4: TLabel;  
  BitBtn3: TBitBtn;  
  Image1: TImage;  
  Image2: TImage;  
  Label5: TLabel;  
  Label2: TLabel;  
  Label6: TLabel;  
  Label7: TLabel;  
  Label8: TLabel;  
  Label9: TLabel;  
  Label10: TLabel;  
  Timer1: TTimer;  
  Label11: TLabel;  
  procedure BitBtn2Click(Sender: TObject);  
  procedure BitBtn1Click(Sender: TObject);  
  procedure Image2MouseDown(Sender: TObject; Button: TMouseButton;  
   Shift: TShiftState; X, Y: Integer);  
  procedure FormCreate(Sender: TObject);  
  procedure BitBtn3Click(Sender: TObject);  
  procedure Timer1Timer(Sender: TObject);  
  procedure Label11MouseDown(Sender: TObject; Button: TMouseButton;  
   Shift: TShiftState; X, Y: Integer);  

 private  
  { Private declarations }  
 public  
  { Public declarations }  
 end;  

 FiveChess_Struct=record  
     x1 : integer;  
     y1 : integer;  
     x2 : integer;  
     y2 : integer;  
     state : byte;  
 end;  
 FiveChess_Data=array [0..14,0..14] of FiveChess_Struct;  

 Player = ( NON,White,Black);  

var  
 Form1: TForm1;  
 Start_Flag : Boolean;  
 FiveChess_Array:FiveChess_Data ;  
 Online: player;  
 whitewin,blackwin:byte;  
 whitetime,blacktime:integer;  
 px1,px2,py1,py2 : integer;  

 Undo_i,Undo_j : integer;  
function Ini_Main():Boolean ;  
implementation  

uses Option;  

{$R *.DFM}  
//{$R AOE.RES}  


procedure Ini_FiveChess_Array();  
var  
  i , j,k: integer;  
begin  

   For i:=0 to 14 do begin  
     For j:=0 to 14 do begin  
       FiveChess_Array[i,j].x1:=16+25*j;  
       FiveChess_Array[i,j].y1:=16+25*i;  
       FiveChess_Array[i,j].x2:=36+25*j;  
       FiveChess_Array[i,j].y2:=36+25*i;  
       FiveChess_Array[i,j].state:=0;  
       end;  
    end;  
end;  

procedure Draw_qipan();  
var  
   i,j : integer;  
begin  
   Form1.Image2.Canvas.Brush.Color:=RGB(247,207,16);  
   Form1.Image2.Canvas.FillRect(Rect(0,0,400,400));  
   Form1.Image2.Canvas.pen.Color:=RGB(0,0,0);  
   for i:=1 to 16 do begin  
     Form1.Image2.Canvas.MoveTo(0,25*i);  
     Form1.Image2.Canvas.LineTo (400,25*i);  
     Form1.Image2.Canvas.MoveTo(25*i,0);  
     Form1.Image2.Canvas.LineTo (25*i,400);  
   end;  

end;  


procedure Undo_Run();  
var  
   x1,x2,y1,y2 : integer;  
begin  




   if (Undo_i<>-1) and (Undo_j<>-1) then  begin  
     FiveChess_array[Undo_i,Undo_j].state :=0;  
     x1:= FiveChess_Array[Undo_i,Undo_j].x1-2;  
     y1:= FiveChess_Array[Undo_i,Undo_j].y1-2;  
     x2:= FiveChess_Array[Undo_i,Undo_j].x2+2;  
     y2:= FiveChess_Array[Undo_i,Undo_j].y2+2;  
     Form1.Image2.Canvas.Brush.Color:=RGB(247,207,16);  
     Form1.Image2.Canvas.FillRect(rect(x1,y1,x2,y2));  
     Form1.Image2.Canvas.pen.Color:=RGB(0,0,0);  
     Form1.Image2.Canvas.MoveTo((x1+x2)div 2-1 , y1);  
     Form1.Image2.Canvas.LineTo((x1+x2)div 2-1 , y2);  
     Form1.Image2.Canvas.MoveTo(x1,(y1+y2)div 2-1);  
     Form1.Image2.Canvas.LineTo(x2,(y1+y2)div 2-1);  

     end;  

   If Online=black then  
     Online:=White  
   else  
     Online:=Black;    


end;  



function Ini_Main():Boolean ;  


begin  

   Result:=true;  

   px1:=0;  
   px2:=0;  
   py1:=0;  
   py2:=0;  

   Undo_i:=-1;  
   Undo_j:=-1;  

   whitetime:=0;  
   blacktime:=0;  

   form1.Label9.Caption :=inttostr(whitewin);  
   form1.Label10.Caption :=inttostr(blackwin);  


   Ini_FiveChess_Array;  
   Draw_Qipan;  
end;  






Function Judge_Success_on_off (X,Y,State:integer):Boolean;  
var  
   i,j,k,count : integer;  
begin  
   Count:=0;  
   Result:=false;  

   // 判斷豎列  
   For i:=X-4 to X+4 do  
     if (i>=0) and (i<=15) then
      begin
         if FiveChess_array[i,y].state=state then
           begin
             Inc(Count) ;
             if count=5 then begin
               result:=true;
               break;
               end;
           end
         else
           Count:=0;
      end;
   //判斷橫行
   count:=0;
   For j:=y-4 to y+4 do
     if (j>=0) and (j<=15) then
      begin
         if FiveChess_array[X,j].state=state then
           begin
             Inc(Count) ;
             if count=5 then begin
               result:=true;
               break;
               end;
           end
         else
           Count:=0;
      end;
   //判斷'\'方向
   count:=0;
   For k:=-4 to 4 do begin
       i:=X+k;
       j:=Y+k;
       if (j>=0) and (j<=15) And(i>=0) and(i<=15) then
        begin
         if FiveChess_array[i,j].state=state then
           begin
             Inc(Count) ;
             if count=5 then begin
               result:=true;
               break;
               end;
           end
         else
           Count:=0;
      end;
   end;
  //判斷'/'方向
   count:=0;
   For k:=-4 to 4 do begin
       i:=X+k;
       j:=Y-k;
       if (j>=0) and (j<=15) And(i>=0) and(i<=15) then
        begin
         if FiveChess_array[i,j].state=state then
           begin
             Inc(Count) ;
             if count=5 then begin
               result:=true;
               break;
               end;
           end
         else
           Count:=0;
      end;
   end;

end;



procedure TForm1.BitBtn2Click(Sender: TObject);
begin
   Application.Terminate ;
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
   Start_Flag:=true;
   If Start_Flag then begin
    Form1.Image2.Enabled := true;
    Form1.Timer1.Enabled := true;
    Ini_Main;

   end;

end;

function Draw_Qizi_White(X,Y : Integer):boolean;
var
   i,j,x1,x2,y1,y2 : integer;
begin
   result := false;
   for i:=0 to 14 do
     For j:=0 to 14 do begin
       if (X> FiveChess_Array[i,j].x1)and(X<FiveChess_Array[i,j].x2)
      and (y> FiveChess_Array[i,j].y1)and(y<FiveChess_Array[i,j].y2)
      and (FiveChess_Array[i,j].state=0)  then
      begin
         if FiveChess_Array[Undo_i,Undo_j].state<>0 then begin  
          Form1.Image2.Canvas.Brush.Color:=Rgb(100,100,100);  
          Form1.Image2.Canvas.FillRect (Rect(px1,py1,px2,py2));  
         end;  

         Form1.Image2.Canvas.Brush.Color:=Rgb(255,255,255);  
         Form1.Image2.Canvas.Ellipse ( FiveChess_Array[i,j].x1,  
         FiveChess_Array[i,j].y1,FiveChess_Array[i,j].x2,FiveChess_Array[i,j].y2);  
         Form1.Image2.Canvas.Brush.Color:=RGB(255,255,255);  
         Form1.Image2.Canvas.Ellipse ( FiveChess_Array[i,j].x1-2,  
         FiveChess_Array[i,j].y1-2,FiveChess_Array[i,j].x2-2,FiveChess_Array[i,j].y2-2);  
         FiveChess_array[i,j].state:=1;  

         Undo_i:=i;  
         Undo_j:=j;  


         Form1.Image2.Canvas.Brush.Color:=clred;  
         px1:= FiveChess_Array[i,j].x1+3;  
         py1:= FiveChess_Array[i,j].y1+3;  
         px2:= FiveChess_Array[i,j].x2-7;  
         py2:= FiveChess_Array[i,j].y2-7;  
         Form1.Image2.Canvas.Ellipse (px1,py1,px2,py2);  





         if Judge_Success_on_off(i,j, FiveChess_Array[i,j].state) then  
          begin  
             whitewin:=whitewin+1;  
             if whitewin>1 then  
              Application.MessageBox ('臭棋簍!比魚頭還臭!','勝敗乃兵家常事',0)  
             else  
              Application.MessageBox ('白方已勝利!','勝敗乃兵家常事',0);  

             form1.label9.caption:=inttostr(whitewin);  
             form1.Image2.Enabled :=false;  
             Form1.Timer1.Enabled := false;  
          end;  

         Result := true;  
         break;  
      end;  
   end;  
end;  

function Draw_Qizi_Black(X,Y : Integer): boolean;  
var  
   i,j,x1,x2,y1,y2 : integer;  
begin  
   result:=false;  
   for i:=0 to 14 do  
     for j:=0 to 14 do begin  
       if (X> FiveChess_Array[i,j].x1)and(X<FiveChess_Array[i,j].x2)
         and (y> FiveChess_Array[i,j].y1)and(y<FiveChess_Array[i,j].y2)
         and (FiveChess_Array[i,j].state=0)  then
         begin
           if FiveChess_Array[Undo_i,Undo_j].state<>0 then begin  
             Form1.Image2.Canvas.Brush.Color:=Rgb(255,255,255);  
             Form1.Image2.Canvas.FillRect (Rect(px1,py1,px2,py2));  
           end;  
           Form1.Image2.Canvas.Brush.Color:=RGB(0,0,0);  
           Form1.Image2.Canvas.Ellipse ( FiveChess_Array[i,j].x1,  
              FiveChess_Array[i,j].y1,FiveChess_Array[i,j].x2,FiveChess_Array[i,j].y2);  
           Form1.Image2.Canvas.Brush.Color:=RGB(100,100,100);  
           Form1.Image2.Canvas.Ellipse ( FiveChess_Array[i,j].x1-2,  
           FiveChess_Array[i,j].y1-2,FiveChess_Array[i,j].x2-2,FiveChess_Array[i,j].y2-2);  

           FiveChess_array[i,j].state := 2;  

           Undo_i:=i;  
           Undo_j:=j;  

           Form1.Image2.Canvas.Brush.Color:=clred;  
           px1:= FiveChess_Array[i,j].x1+3;  
           py1:= FiveChess_Array[i,j].y1+3;  
           px2:= FiveChess_Array[i,j].x2-7;  
           py2:= FiveChess_Array[i,j].y2-7;  
           Form1.Image2.Canvas.Ellipse (px1,py1,px2,py2);  


           if Judge_Success_on_off(i,j, FiveChess_Array[i,j].state) then  
            begin  
               blackwin:=blackwin+1;  
               if blackwin>1 then  
                Application.MessageBox ('不會吧!難道比魚頭還臭!','勝敗乃兵家常事',0)  
               else  
                Application.MessageBox ('黑方已勝利!','勝敗乃兵家常事',0);  

               form1.label10.caption:=inttostr(blackwin);  
               form1.Image2.Enabled :=false;  
               Form1.Timer1.enabled := False;  
            end;  
           Result:=true;  
           break;  
         end;  
   end;  
end;  

procedure TForm1.Image2MouseDown(Sender: TObject; Button: TMouseButton;  
 Shift: TShiftState; X, Y: Integer);  

begin  
     if Online = White then  begin  
      if draw_Qizi_white(X,Y) then  
        Online := Black  
      end  
     else  
        if draw_Qizi_Black(X,Y) then  
         Online:=White;  



end;  

procedure TForm1.FormCreate(Sender: TObject);  
begin  
   Online:=white;  
   form1.Label11.Caption :='人不到傷痕累累'#13+'就不會懂得后悔!';  
   Start_Flag:=false;  
   Form1.Image2.Enabled := false;  
     



end;  

procedure TForm1.BitBtn3Click(Sender: TObject);  
begin  
    form2.show;  

end;  

procedure TForm1.Timer1Timer(Sender: TObject);  
begin  
   if online=white then  
     whitetime:=whitetime +1  
   else  
     blacktime:=blacktime +1;  

   Form1.Label7.caption:=inttostr(whitetime);  
   Form1.Label8.caption:=inttostr(blacktime);  



end;  

procedure TForm1.Label11MouseDown(Sender: TObject; Button: TMouseButton;  
 Shift: TShiftState; X, Y: Integer);  
begin  
   if (Button = mbleft) and (ssShift in shift) And (form1.Image2.Enabled = true)then  
     Undo_Run;  

   end;  


end.  

end;  


//////////////////////////  


unit Option;  

interface  

uses  
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,  
 StdCtrls, Buttons;  

type  
 TForm2 = class(TForm)  
  GroupBox1: TGroupBox;  
  RadioButton1: TRadioButton;  
  RadioButton2: TRadioButton;  
  BitBtn1: TBitBtn;  
  BitBtn2: TBitBtn;  
  GroupBox2: TGroupBox;  
  RadioButton3: TRadioButton;  
  RadioButton4: TRadioButton;  
  RadioButton5: TRadioButton;  
  procedure FormCreate(Sender: TObject);  
  procedure BitBtn1Click(Sender: TObject);  
  procedure BitBtn2Click(Sender: TObject);  
 private  
  { Private declarations }  
 public  
  { Public declarations }  
 end;  

var  
 Form2: TForm2;  


implementation  


uses  
   Main;  
{$R *.DFM}  

procedure TForm2.FormCreate(Sender: TObject);  
begin  
    form2.RadioButton1.Checked := true;  
    form2.RadioButton3.Checked := true;  
end;  

procedure TForm2.BitBtn1Click(Sender: TObject);  
begin  
   if form2.RadioButton1.Checked = true then  
     Online := White  
   else  
     Online := Black;  

   if  form2.RadioButton3.Checked then  
      begin  
         whitewin:=0;  
         blackwin:=0;  
      end ;  


   Ini_main;  


   form2.close;  




end;  

procedure TForm2.BitBtn2Click(Sender: TObject);  
begin  
   form2.Close ;  
end;  

end.

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        一区二区三区免费观看| 日韩一级在线观看| 欧美一区二区视频在线观看2020 | 国产乱码一区二区三区| 在线播放亚洲一区| 日韩成人伦理电影在线观看| 日韩欧美另类在线| 国产精品一二三| 中文字幕一区视频| 欧美日韩一区二区三区不卡| 免费观看一级欧美片| 国产欧美一区二区精品性色| 91猫先生在线| 麻豆极品一区二区三区| 国产精品丝袜久久久久久app| 一本在线高清不卡dvd| 日韩影院在线观看| 精品久久久久久久久久久院品网| 粉嫩一区二区三区在线看| 亚洲欧美日韩在线不卡| 欧美一区二区成人6969| 成人av综合在线| 亚洲成人av福利| 中文字幕精品在线不卡| 欧美一级免费观看| 色综合久久综合| 国产一区啦啦啦在线观看| 亚洲精品你懂的| 国产性天天综合网| 欧美日韩成人综合天天影院| 成人手机在线视频| 精品一区二区三区久久久| 亚洲一区二区欧美| 中国av一区二区三区| 欧美成人伊人久久综合网| 色综合色综合色综合色综合色综合| 精品一区二区三区免费播放| 亚洲va国产天堂va久久en| 中文字幕在线视频一区| 久久综合色综合88| 日韩三级视频在线看| 欧美中文字幕久久| av成人免费在线| 国产99久久精品| 激情综合网最新| 久久精品国产精品亚洲红杏| 亚洲福利视频一区二区| 依依成人综合视频| 亚洲欧美偷拍另类a∨色屁股| 国产欧美一区二区精品婷婷 | 日本大胆欧美人术艺术动态| 亚洲伦在线观看| 亚洲青青青在线视频| 中文字幕一区二区5566日韩| 国产精品网站在线观看| 久久精品人人做人人爽97| 久久久蜜臀国产一区二区| 欧美va在线播放| 精品免费99久久| 久久综合九色综合97婷婷女人| 日韩一级大片在线| 亚洲精品一区二区三区蜜桃下载| 日韩色视频在线观看| 精品国产凹凸成av人导航| 欧美变态tickling挠脚心| 精品日产卡一卡二卡麻豆| 久久综合久久99| 亚洲欧洲av一区二区三区久久| 亚洲天堂成人网| 亚洲国产视频直播| 日本麻豆一区二区三区视频| 精品一区精品二区高清| 国产高清精品网站| 91蝌蚪porny| 欧美日韩国产三级| 精品va天堂亚洲国产| 欧美激情一区二区三区在线| 中文字幕在线一区二区三区| 亚洲精品老司机| 性久久久久久久| 精品无码三级在线观看视频| 成人a免费在线看| 欧美日韩一区精品| 欧美精品一区二区三区在线| 中文字幕中文字幕一区二区| 天天色综合天天| 丁香激情综合国产| 欧美少妇一区二区| 欧美精品一区二区三| 自拍偷拍亚洲综合| 日韩av电影免费观看高清完整版在线观看 | 中文字幕一区二区三区av| 依依成人综合视频| 国产一区二区毛片| 色偷偷88欧美精品久久久| 在线不卡中文字幕播放| 久久久久久亚洲综合| 亚洲黄网站在线观看| 国产一区二区三区电影在线观看| 91在线看国产| 久久久综合精品| 亚洲动漫第一页| 国产成人av福利| 欧美一级生活片| 亚洲靠逼com| 国产一区二区三区电影在线观看| 色婷婷久久久久swag精品| 欧美xxxx在线观看| 亚洲高清不卡在线| 91在线视频播放地址| 2020国产精品| 日本伊人色综合网| 在线观看亚洲精品视频| 中文字幕不卡一区| 国产成人h网站| 性做久久久久久久免费看| 成人黄色大片在线观看| 精品伦理精品一区| 图片区小说区国产精品视频| 国产xxx精品视频大全| 日韩欧美成人一区二区| 五月天欧美精品| 欧美性受xxxx| 亚洲一区精品在线| 色综合欧美在线| 亚洲视频1区2区| 91在线视频18| 亚洲精品视频在线看| 91美女精品福利| 亚洲综合自拍偷拍| 色综合天天综合色综合av| 亚洲欧洲av在线| 在线日韩av片| 亚洲国产精品久久一线不卡| 欧美三级电影一区| 亚洲第一福利视频在线| 欧美日韩亚州综合| 视频一区二区欧美| 91精品国产欧美一区二区成人| 午夜电影久久久| 欧美一区二区三区的| 久久99国产精品尤物| 国产三区在线成人av| 99九九99九九九视频精品| 亚洲精品老司机| 欧美二区三区的天堂| 精品一区二区三区日韩| 久久久久一区二区三区四区| 成人手机电影网| 亚洲精品水蜜桃| 91麻豆精品国产91| 国产最新精品精品你懂的| 亚洲国产精品精华液ab| 色综合激情五月| 日本va欧美va瓶| 中文字幕欧美三区| 色婷婷av一区二区三区大白胸| 亚洲国产成人高清精品| 精品国产123| 99久久精品国产精品久久| 亚洲一区二区精品久久av| 欧美zozo另类异族| 99国产精品一区| 久久精品久久精品| 国产精品午夜电影| 91精品免费在线观看| 国产宾馆实践打屁股91| 香蕉av福利精品导航| 久久久国产精品午夜一区ai换脸| 91一区二区三区在线观看| 免费成人在线影院| 亚洲精品写真福利| 久久一夜天堂av一区二区三区| 色偷偷久久人人79超碰人人澡| 老司机午夜精品| 亚洲综合一区二区| 欧美国产欧美综合| 欧美福利视频一区| 不卡影院免费观看| 另类人妖一区二区av| 亚洲激情中文1区| 国产午夜久久久久| 日韩三级精品电影久久久| 97se亚洲国产综合在线| 紧缚奴在线一区二区三区| 亚洲永久精品国产| 国产精品久久久久久久久图文区| 精品精品国产高清一毛片一天堂| 在线观看亚洲精品视频| 不卡视频在线看| 成人免费毛片嘿嘿连载视频| 日本欧美加勒比视频| 亚洲精品欧美二区三区中文字幕| 精品美女在线观看| 在线电影一区二区三区| 欧美日韩免费电影| 欧美日韩一区二区三区不卡| 92精品国产成人观看免费| 国产精品99久久久久久久女警| 麻豆91精品91久久久的内涵|