From acd648c76b4abc6027dd2a7bb912a2e37a82edfe Mon Sep 17 00:00:00 2001 From: Breakwa11 Date: Wed, 20 Feb 2019 17:29:25 +0800 Subject: [PATCH] accept zen6 & zen7 dll in subdir --- README.md | 5 +++-- "bin/release/\350\257\264\346\230\216.txt" | 7 ++++--- gtp4zen/gtp4zen.cpp | 17 +++++++++++++---- gtp4zen/stdafx.h | 2 +- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 694869f..446f50c 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,11 @@ 1. 把zen7的zen.dll拷贝到gtp4zen.exe所在的文件夹,重命名为zen7.dll,再运行即可,只需要gtp4zen.exe和zen7.dll这2个文件 请参考gtp指令手册(http://www.lysator.liu.se/~gunnar/gtp/)或者使用sabaki等图形界面工具 -2. 如果使用zen6的zen.dll,需要重命名为zen6.dll,且设置参数 gtp4zen.exe -z6 +2. 如果使用zen6的zen.dll,需要设置参数 gtp4zen.exe -z6。如果你需要**同时使用zen6和zen7的dll**,请在gtp4zen.exe所在的文件夹下再建立两个子目录并分别命名为"6"和"7",再把两个dll复制进去 3. gtp4zen.exe所在的文件夹如果存在gtp4zen.lua,命令行-T参数自动失效并使用gtp4zen.lua的时间控制, 这个脚本用于精细化时间控制,如果不明白用途可以删除gtp4zen.lua,文件存在即表示生效 -4. gtp4zen.exe --help输出帮助,-t是线程数(默认和cpu核数量相同),-T最大思考时间,-s最大计算步数,-l指定log文件,-d会输出调试信息到gtpshell,帮助信息如下: +4. +5. gtp4zen.exe --help输出帮助,-t是线程数(默认和cpu核数量相同),-T最大思考时间,-s最大计算步数,-l指定log文件,-d会输出调试信息到gtpshell,帮助信息如下: C:\Users\clock\Desktop>gtp4zen.exe --help diff --git "a/bin/release/\350\257\264\346\230\216.txt" "b/bin/release/\350\257\264\346\230\216.txt" index fd1bc87..0386239 100644 --- "a/bin/release/\350\257\264\346\230\216.txt" +++ "b/bin/release/\350\257\264\346\230\216.txt" @@ -1,4 +1,4 @@ -1.把zen6或zen7的zen.dll拷贝到gtp4zen.exe所在的文件夹,并重命名为zen6.dll或zen7.dll,运行即可,只需要gtp4zen.exe和zen.dll这2个文件 +1.把zen6或zen7的zen.dll拷贝到gtp4zen.exe所在的文件夹,配置参数运行即可,只需要gtp4zen.exe和zen.dll这2个文件 请参考gtp指令手册(http://www.lysator.liu.se/~gunnar/gtp/)或者使用sabaki等图形界面工具 @@ -31,9 +31,10 @@ Options: 如果你单纯需要最强的棋力,如果是zen6,设置-n1 -o1 -p1(即默认值),如果是zen7,设置-n3 -o1 -p0.75 参数 r 设置胜率低于多少时认输 -4.如果使用zen6的zen.dll,需要设置参数 gtp4zen.exe -z6,同时把dll重命名为zen6.dll +4.如果使用zen6的zen.dll,需要设置参数 gtp4zen.exe -z6 +如果你需要同时使用zen6和zen7的dll,请在gtp4zen.exe所在的文件夹下再建立两个子目录并分别命名为"6"和"7",再把两个dll复制进去 cgos遛狗建议参数:gtp4zen.exe -T5 -i100, 或者使用gtp4zen.lua脚本来控制时间 此修改版作者:Breakwa11 -程序原作者为 拥剑(qq80101277) \ No newline at end of file +程序原作者为 拥剑(qq80101277) diff --git a/gtp4zen/gtp4zen.cpp b/gtp4zen/gtp4zen.cpp index 7e632b0..be4fa27 100644 --- a/gtp4zen/gtp4zen.cpp +++ b/gtp4zen/gtp4zen.cpp @@ -212,17 +212,26 @@ int _tmain(int argc, _TCHAR* argv[]) std::string zen_dll_path = GetModuleFilePath(); std::string lua_engine_path = GetModuleFilePath() + "gtp4zen.lua"; - if (!boost::filesystem::is_regular_file(zen_dll_path.c_str())) { + if (7 == g_zenver && boost::filesystem::is_regular_file((zen_dll_path + "7\\zen.dll").c_str())) { + } + else if (7 == g_zenver && boost::filesystem::is_regular_file((zen_dll_path + "6\\zen.dll").c_str())) { + g_zenver = 6; + } + else if (6 == g_zenver && boost::filesystem::is_regular_file((zen_dll_path + "6\\zen.dll").c_str())) { + } + else if (boost::filesystem::is_regular_file((zen_dll_path + "zen.dll").c_str())) { + } + else { fprintf(stderr, "ERROR: zen.dll not exist?\n"); logprintf(L"%s", L"ERROR: zen.dll not exist?"); //system("pause"); - return 0; + return 1; } if (6 == g_zenver) { CZen6Gtp gtp6; CGtp *pgtp = >p6; - if (pgtp->load((zen_dll_path + "zen6.dll").c_str(), lua_engine_path.c_str())) + if (pgtp->load((zen_dll_path + "6\\zen.dll").c_str(), lua_engine_path.c_str())) _play_zen(pgtp); else if (pgtp->load((zen_dll_path + "zen.dll").c_str(), lua_engine_path.c_str())) _play_zen(pgtp); @@ -230,7 +239,7 @@ int _tmain(int argc, _TCHAR* argv[]) } else if (7 == g_zenver) { CZen7Gtp gtp7; CGtp *pgtp = >p7; - if (pgtp->load((zen_dll_path + "zen7.dll").c_str(), lua_engine_path.c_str())) + if (pgtp->load((zen_dll_path + "7\\zen.dll").c_str(), lua_engine_path.c_str())) _play_zen(pgtp); else if (pgtp->load((zen_dll_path + "zen.dll").c_str(), lua_engine_path.c_str())) _play_zen(pgtp); diff --git a/gtp4zen/stdafx.h b/gtp4zen/stdafx.h index 0c9c4c5..79da64b 100644 --- a/gtp4zen/stdafx.h +++ b/gtp4zen/stdafx.h @@ -43,6 +43,6 @@ extern int __ansi2num(char ch); extern std::string __num2ansi(int x, int y, int boardsize); extern void logprintf(const TCHAR *_Format, ...); -#define GTP4ZEN_VERSION "v0.3.3" +#define GTP4ZEN_VERSION "v0.3.5" #define GTP4ZEN_COLOR_WHITE 1 #define GTP4ZEN_COLOR_BLACK 2