91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 12.08MB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2023-07-10
  • 語言: 其他
  • 標簽: 人機對弈??

資源簡介

采用多種搜索算法,實現了人機對弈,有較好的用戶界面

資源截圖

代碼片段和文件信息


#include?“stdafx.h“
#include?“AlphaBetaSearch.h“

int?const?MAXVALUE?=?20000;//最大值
CAlphaBetaSearch::CAlphaBetaSearch(void)
{
}

CAlphaBetaSearch::~CAlphaBetaSearch(void)
{
}


//////////////////////////////////////////////////////////////////////////
//函數名稱:SearchAGoodMove
//函數介紹:找出最好的走法?
//輸入參數:?byPosition?棋盤數組????????
//輸出參數:無???????
//返回值??:?無
//??
//鄭華山
//////////////////////////////////////////////////////////////////////////
void?CAlphaBetaSearch::SearchAGoodMove(BYTE?byPosition[10][9])
{
//拷貝棋盤數組到備份數組
memcpy(m_BackupChessBoard?byPosition?90);
//設置當前搜索深度為最大深度
m_CurrentSearchDepth?=?m_MaxSearchDepth;
AlphaBeta(m_MaxSearchDepth?-MAXVALUE?MAXVALUE);?//AlphaBeta搜索
m_BestMove.ChessFromID?=?m_BackupChessBoard[m_BestMove.From.y][m_BestMove.From.x];?
m_BestMove.ChessToID?=?m_BackupChessBoard[m_BestMove.To.y][m_BestMove.To.x];
MakeMove(m_BestMove);//走一步棋

memcpy(byPosition?m_BackupChessBoard?90);?//更新棋盤;

}
//////////////////////////////////////////////////////////////////////////
//函數名稱:AlphaBeta
//函數介紹:AlphaBeta搜索算法??隨著程序的執行?[]?區間的范圍將會不斷縮小
//輸入參數:?iDepth?搜索深度?Alpha?表示本方最優,Beta表示對少最壞值?????
//輸出參數:最佳走法??
//返回值??:?返回最佳估值
//??
//鄭華山
//////////////////////////////////////////////////////////////////////////
int?CAlphaBetaSearch::AlphaBeta(int?iDepth?int?Alpha?int?Beta)
{

BYTE?CurrentChessID;?//被吃的的棋子ID
int?iValue?=?0;
int?iNum?=?0;?//走法的個數
int?iGameOver?=?IsGameOver(iDepth);?//是否結束
if?(iGameOver?!=?0)
return?iGameOver;

if?(iDepth?<=?0)?//葉子節點估值
{
return?m_pEveluation->Eveluate(m_BackupChessBoard?(m_MaxSearchDepth-iDepth?+?m_Side)?%2);?//局面評估


}

iNum?=?m_pMoveGenerator->GenAllMove(m_BackupChessBoardiDepth?(m_MaxSearchDepth-iDepth?+?m_Side)?%2);?//產生所有走法

//遍歷所有走法
for?(?int?i?=?0;?i? {
CurrentChessID?=?MakeMove(m_pMoveGenerator->m_MoveList[iDepth][i]);??//走一步
iValue?=?-?AlphaBeta(iDepth?-?1?-Beta?-Alpha);//遞歸調用Alpha?Beta分別取負,并交換位置
UnMakeMove(m_pMoveGenerator->m_MoveList[iDepth][i]?CurrentChessID);//撤銷上一步
if?(?iValue?>?Alpha)?
{
Alpha?=?iValue;?//保留極大值
if?(?iDepth?==?m_MaxSearchDepth)?//到樹根找到最好的走法
{
m_BestMove?=?m_pMoveGenerator->m_MoveList[iDepth][i];?//保存最好的走法
}
}

if?(?Alpha?>=?Beta)//剪枝條件
break;???//剪枝,放棄剩下的節點



}


return?Alpha;//返回局面評估值
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????1034752??2012-02-10?15:16??ChinaChess\bin\ChinaChess.exe

?????文件???????1259??2012-02-03?09:45??ChinaChess\bin\ChinaChess.exe.CodeAnalysisLog.xml

?????文件??????????0??2012-02-03?09:45??ChinaChess\bin\ChinaChess.exe.lastcodeanalysissucceeded

?????文件????9300992??2012-02-10?15:16??ChinaChess\bin\ChinaChess.pdb

?????文件???????2690??2012-02-02?19:30??ChinaChess\ChinaChess\AlphaBetaSearch.cpp

?????文件????????630??2012-02-03?15:47??ChinaChess\ChinaChess\AlphaBetaSearch.h

?????文件???????3293??2012-02-07?16:57??ChinaChess\ChinaChess\AlphaBeta_HH.cpp

?????文件????????437??2012-02-03?15:49??ChinaChess\ChinaChess\AlphaBeta_HH.h

?????文件?????586404??2012-02-08?10:02??ChinaChess\ChinaChess\ChinaChess.aps

?????文件???????3349??2012-02-02?12:59??ChinaChess\ChinaChess\ChinaChess.cpp

?????文件????????498??2012-01-05?19:02??ChinaChess\ChinaChess\ChinaChess.h

?????文件??????14743??2012-02-08?10:02??ChinaChess\ChinaChess\ChinaChess.rc

?????文件???????9367??2012-02-07?16:50??ChinaChess\ChinaChess\ChinaChess.vcproj

?????文件????????257??2012-01-21?18:06??ChinaChess\ChinaChess\ChinaChess.vcproj.vspscc

?????文件???????1421??2012-02-17?20:24??ChinaChess\ChinaChess\ChinaChess.vcproj.ZHENGHUASHAN.Administrator.user

?????文件???????1092??2012-01-05?19:02??ChinaChess\ChinaChess\ChinaChessDoc.cpp

?????文件????????572??2012-01-05?19:02??ChinaChess\ChinaChess\ChinaChessDoc.h

?????文件??????36114??2012-02-10?11:08??ChinaChess\ChinaChess\ChinaChessView.cpp

?????文件???????3896??2012-02-03?15:57??ChinaChess\ChinaChess\ChinaChessView.h

?????文件??????14313??2012-01-28?19:54??ChinaChess\ChinaChess\CWaterRoutine.cpp

?????文件???????1572??2001-01-19?18:23??ChinaChess\ChinaChess\CWaterRoutine.h

?????文件???????3837??2012-02-15?22:12??ChinaChess\ChinaChess\Define.h

?????文件??????35574??2012-01-31?16:44??ChinaChess\ChinaChess\DIBSectionLite.cpp

?????文件???????6955??2012-01-31?16:44??ChinaChess\ChinaChess\DIBSectionLite.h

?????文件??????35483??2012-02-10?15:16??ChinaChess\ChinaChess\Eveluation.cpp

?????文件???????3932??2012-02-17?20:24??ChinaChess\ChinaChess\Eveluation.h

?????文件???????4544??2012-01-25?19:32??ChinaChess\ChinaChess\GradientProgressCtrl.cpp

?????文件???????2221??2004-08-17?14:29??ChinaChess\ChinaChess\GradientProgressCtrl.h

?????文件???????4810??2012-02-07?15:28??ChinaChess\ChinaChess\HistoryHeuristic.cpp

?????文件???????1153??2012-02-04?12:41??ChinaChess\ChinaChess\HistoryHeuristic.h

............此處省略95個文件信息

評論

共有 條評論