資源簡介
自己制作的黑白棋AI算法 采用了alha-beta剪枝和比較準確的估值算法,有比較墻的智能水平

代碼片段和文件信息
//黑白棋的AI核心DLL
//此DLL輸出兩個函數
//1、AI_Name,原型
//??char?*AI_Name();
//??功能,得到AI的名稱,如“AI_CORE“等
//2、AI_Chess,原型
//??AI_POINT?AI_Chess(char?Board[8][8]?char?Side);
//??功能,計算機執Side顏色的棋子,根據當前棋局Board來走一步棋
#include?
#include?
#include?“AI_Othello.h“
#include?“AI_Search.h“
//AI模塊在被載入和載出對戰平臺式,調用本函數
BOOL?WINAPI?DllMain(
????HINSTANCE???hinstDLL???//?handle?to?the?DLL?module
????DWORD???????fdwReason??//?reason?for?calling?function
????LPVOID??????lpvReserved?//?reserved
????)
{
????char????FileName[MAX_PATH?+?1];
????long????NameLen;
????switch(fdwReason)
????{
????????case?DLL_PROCESS_ATTACH:????//本模塊被載入時觸發
????????????//這樣可以得到DLL自身所在目錄,可能有用
????GetModuleFileName(hinstDLL?FileName?MAX_PATH);?
????//可在此加入本模塊被載入時需要進行的初始化工作
????????????break;
????????case?DLL_PROCESS_DETACH:????//本模塊被載出時觸發
????????????//可在此加入本模塊被載出時需要進行的清理工作
????????????break;
????}
????(void)hinstDLL;
????(void)lpvReserved;
????return?1;
}
//AI初始化函數
void?__stdcall?AI_Init(void)
{
????//加入你的AI初始化程序
}
//得到AI的名稱
char?*__stdcall?AI_Name?(void)
{
????return?“quietly_brilliant“;?//改成你的AI名稱
}
//計算機執Side顏色的棋子,根據當前棋局Board來走一步棋,會被對戰平臺自動觸發
//如果沒有可行的位置,返回(-1-1)
AI_POINT?__stdcall?AI_Chess(const?char?Board[BOARD_SIZE][BOARD_SIZE]?char?Side)
{
????return?GetBestMove(Board?Side);//可修改為你的AI程序
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????515??2012-12-08?14:17??src\AI_Define.h
?????文件????????975??2012-12-08?14:17??src\AI_Othello.h
?????文件???????1577??2012-12-15?08:50??src\AI_Othello_Sample.cpp
?????文件??????26456??2012-12-15?08:17??src\AI_Search.cpp
?????文件????????924??2012-12-15?07:17??src\AI_Search.h
?????文件??????54784??2012-12-15?08:50??src\Your_AI_Name.MAI
?????目錄??????????0??2013-07-18?07:02??src
-----------?---------??----------?-----??----
????????????????85231????????????????????7
- 上一篇:國六診斷服務說明.docx
- 下一篇:動態生成按鈕,點擊動態修改按鈕背景圖片
評論
共有 條評論