资源简介
自己制作的黑白棋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
- 下一篇:动态生成按钮,点击动态修改按钮背景图片
评论
共有 条评论