资源简介

自己制作的黑白棋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


评论

共有 条评论

相关资源