class AI
{
// 15*15共有572种五子连珠的可能性
const int MaxFiveChainCount = 572;
//玩家的可能性
bool[,,] _ptable = new bool[Board.CrossCount, Board.CrossCount, MaxFiveChainCount];
//电脑的可能性
bool[, ,] _ctable = new bool[Board.CrossCount, Board.CrossCount, MaxFiveChainCount];
//记录2位玩家所有可能的连珠数,-1则为永远无法5连珠
int[,] _win = new int[2, MaxFiveChainCount];
//记录每格的分值
int[,] _cgrades = new int[Board.CrossCount, Board.CrossCount];
int[,] _pgrades = new int[Board.CrossCount, Board.CrossCount];
//记录棋盘
int[,] _board = new int[Board.CrossCount, Board.CrossCount];
int _cgrade, _pgrade;
int _icount, _m, _n;
int _mat, _nat, _mde, _nde;
public AI( )
{
for ( int i = 0;i<Board.CrossCount;i++)
{
for ( int j = 0;j<Board.CrossCount;j++)
{
_pgrades[i, j] = 0;
_cgrades[i, j] = 0;
_board[i, j] = 0;
}
}
//遍历所有的五连子可能情况的权值
//横
for ( int i = 0;i<Board.CrossCount;i++)
{
for ( int j = 0;j<Board.CrossCount - 4 ;j++)
{
for( int k = 0;k < BoardModel.WinChessCount;k++)
{
_ptable[j + k, i, _icount] = true;
2D游戏之五子棋(3)人工智能AI,自动落棋
最新推荐文章于 2024-07-11 17:14:21 发布
本文介绍了如何在2D五子棋游戏中实现人工智能AI,探讨了自动落棋的策略和算法,包括搜索算法和评估函数,帮助玩家体验更智能的对弈过程。
摘要由CSDN通过智能技术生成