五子棋源代码
点击次数:36 次 发布日期:2008-11-09 08:40:34 作者:源代码网
|
源代码网推荐 源代码网推荐 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 软件开发网 www.mscto.com 源代码网推荐 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; 软件开发网 www.mscto.com 源代码网推荐 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. 源代码网推荐 源代码网供稿. |
