用delphi编写五子棋程序时判断一方获胜的代码

来源:百度知道 编辑:UC知道 时间:2024/06/03 13:38:28
如何判断一方已经获胜?请给出具体代码

哈哈,这个我正好做了一个五子棋程序。已经实现了,不过只可以自己和自己下。但是求获胜算法没问题。
{
标题:五子棋
修改日期:2008.1.13
作者: xlxchy
用途: 学习
备注:本五子棋实现主要算法:定义一个和棋盘同大小的二维数组,初始值都为12,每一个元素对应
棋盘上的一个可下棋子的位置[下称“标准点”];下棋时,每在棋盘上点下一个棋子,如果是
黑子,则对应的标准点的元素变2;如果是白子则变为1。每下一颗棋子,扫描二维数组,如果
有X向、Y向、XY向连续的五个元素和为10,则黑子赢;如果和为5,则为白子赢;否则继续;
待改进点:扫描棋盘二维数组时可考虑不必全盘扫描,只需要扫描下棋点周围一定范围[9*9]的元素和即可。
}
unit Chess;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ImgList, Menus, StdCtrls, Buttons, ComCtrls, XPMenu;

type
TForm1 = class(TForm)
ImageList1: TImageList;
Image1: TImage;
Image2: TImage;
PopupMenu1: TPopupMenu;
Exit1: TMenuItem;
SpeedButton1: TSpeedButton;
Timer1: TTimer;
StatusBar1: TStatusBar;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedBut