核心算法内容是:
根据相邻的棋子的类型看是否是连接的棋子,判断八个方向,横竖斜,横着的棋子到了5个则成功,其他方向也是如此
代码如下:
using UnityEngine;
public enum ChessType
{
None = 0,
Black = 1,
White = 2,
}
public class BoardModel
{
// 连5个子可以赢
public const int WinChessCount = 5;
ChessType[,] _data = new ChessType[Board.CrossCount, Board.CrossCount];
// 获取棋盘数据
public ChessType Get( int x, int y )
{
if (x < 0 || x >= Board.CrossCount)
return ChessType.None;
if (y < 0 || y >= Board.CrossCount)
return ChessType.None;
return _data[x, y];
}
// 设置棋盘数据
public bool Set( int x, int y, ChessType type )
{
if (x < 0 || x >= Board.CrossCount)
return false;
if (y < 0 || y >&