Calcitem
|
19e6621e8f
|
WAR: 小概率发生重新开始一局后 thread 的 us 还是 WHITE 导致进入死循环
尝试在 go() 中每次开始新局之前再给 us 赋值一次 BLACK。
|
2020-10-25 11:19:34 +08:00 |
Calcitem
|
51e0d4ee91
|
refactor: UCI_AUTO_RESTART 宏控制修改代码顺序
|
2020-10-25 11:17:55 +08:00 |
Calcitem
|
85cdd2d0ed
|
thread: us 由 int 类型改为 Color
|
2020-10-25 11:17:11 +08:00 |
Calcitem
|
f860086aa8
|
build: Fix gcc build error
|
2020-10-25 03:08:28 +08:00 |
Calcitem
|
5017d17e59
|
analyze: 打印胜率并保留2位小数
|
2020-10-25 02:36:22 +08:00 |
Calcitem
|
3fa33fc9df
|
position: 打印局面前先加一个换行
|
2020-10-25 01:22:17 +08:00 |
Calcitem
|
0e19426369
|
uci: 解决输入 d 后未按预期打印局面数据而是打印内存地址的问题
|
2020-10-25 01:21:54 +08:00 |
Calcitem
|
82c0539ec8
|
console: 在启用 UCI_DO_BEST_MOVE 的情况下执行完 go 局面才会变动
否则只是给 bestmove 结果,不会执行。
|
2020-10-25 00:54:01 +08:00 |
Calcitem
|
1cc5b07702
|
输出最佳着法时带上 bestmove 前缀
|
2020-10-25 00:25:59 +08:00 |
Calcitem
|
bd93195566
|
消除部分开关宏后导致的编译警告
|
2020-10-25 00:25:10 +08:00 |
Calcitem
|
97cd4ec7bf
|
config: 去除 SELF_MOVE 宏并增加若干宏
//#define DISABLE_RANDOM_MOVE
//#define UCI_AUTO_RE_GO
//#define UCI_AUTO_RESTART
#define ANALYZE_POSITION
|
2020-10-25 00:15:18 +08:00 |
Calcitem
|
63fe6d0d95
|
thread: 解决多线程读写竞争问题
ThreadPool::set() 中 new Thread(size()) 会初始化 bestvalue 和 lastvalue 的值,和
Thread::idle_loop() 中 bestvalue = lastvalue = VALUE_ZERO; 产生竞争。
故将后者删除。
|
2020-10-24 12:15:13 +08:00 |
Calcitem
|
9172c786d1
|
position: 修复 in_how_many_mills() 中 squareSelected 可能是 -1 导致读写越界1字节问题
|
2020-10-24 12:05:04 +08:00 |
Calcitem
|
bd6396e459
|
build: 消除 make 编译警告 (GCC 10.2)
|
2020-10-24 01:34:29 +08:00 |
Calcitem
|
d89211f05d
|
console: build: 能够在 Cygwin 下编译通过
|
2020-10-23 17:10:19 +01:00 |
Calcitem
|
c4639c2820
|
thread: 屏蔽 4695 警告以便控制台课使用 ANSI 编码格式防止 Win10 新控制台中文乱码
|
2020-10-23 23:02:49 +08:00 |
Calcitem
|
1ba032ac37
|
thread: idle_loop() 恢复对 rootPos 的空指针判断
|
2020-10-23 22:54:39 +08:00 |
Calcitem
|
f3eb5b3322
|
appendGameOverReasonToCmdlist 对 phase 判断由 assert 改为 if
|
2020-10-23 22:41:48 +08:00 |
Calcitem
|
3726ad9635
|
refactor: 清理无用代码
|
2020-10-23 02:01:12 +08:00 |
Calcitem
|
7594c6e31d
|
开启 TIME_STAT 宏
|
2020-10-23 00:32:57 +08:00 |
Calcitem
|
71b34a7bd1
|
console: 关闭 QT_UI 宏后命令行下输入 go 可以自对弈
但是只能自对弈5盘左右就卡住。
|
2020-10-23 00:32:41 +08:00 |
Calcitem
|
2fa1dda751
|
build: 解决关闭 QT_UI 宏后编译不通过的问题
|
2020-10-21 23:49:36 +08:00 |
Calcitem
|
140df0f6d1
|
从 console 分支合并一些修改从
不涉及指针转引用的修改合并之。
分析时于是打印比分。
注意Debug自对弈时长貌似从16秒变成17秒。
|
2020-10-21 23:42:57 +08:00 |
Calcitem
|
47d66692f3
|
thread: 重构 Thread 类各成员排列顺序
|
2020-10-21 23:32:03 +08:00 |
Calcitem
|
4480073e63
|
tt: 解决关闭 TRANSPOSITION_TABLE_ENABLE 宏后编译不过的问题
|
2020-10-21 23:28:57 +08:00 |
Calcitem
|
75be8e26aa
|
thread: stopwatch 相关修改模板传参
|
2020-10-21 23:26:31 +08:00 |
Calcitem
|
e87a027a14
|
rule: 打三棋先去掉50步规则
|
2020-10-21 23:25:06 +08:00 |
Calcitem
|
87b3bf1b08
|
thread: setPosition() 改名为 clearTT (WIP)
其实还夹带清除历史。
|
2020-10-21 23:23:40 +08:00 |
Calcitem
|
5a5f30edfc
|
thread: searching 默认未 true 即和 Stockfish 保持一致
|
2020-10-21 23:20:56 +08:00 |
Calcitem
|
a08dfbbfa3
|
thread: Thread 构造函数用 n 给 idx 赋值
|
2020-10-21 23:18:07 +08:00 |
Calcitem
|
6f6f2ee349
|
position: pieceCountInHand 赋予初值12 (WIP)
未考虑9子棋。
|
2020-10-21 23:02:32 +08:00 |
Calcitem
|
a5fffda6e9
|
console: main() 中调用 Position::init()
|
2020-10-21 23:00:52 +08:00 |
Calcitem
|
971fed440d
|
position: 增加 put_piece(Piece pc, Square s) 函数但暂未使用
|
2020-10-21 22:59:32 +08:00 |
Calcitem
|
7734ea5a31
|
build: 解决 TRANSPOSITION_TABLE_DEBUG 和 TIME_STAT 宏开启后编译失败问题
|
2020-10-21 22:57:37 +08:00 |
Calcitem
|
7d41ad4fa5
|
thread: 构造函数中不再传入 us
|
2020-10-18 08:48:05 +08:00 |
Calcitem
|
627fde24ed
|
build: 确保关闭 QT_UI 宏也能编译通过
|
2020-10-17 23:04:33 +08:00 |
Calcitem
|
924554206d
|
hashmap: dump() 和 load() 使用 std 的 fstream 而非 QFile (WIP)
尚未和 endgame 模块联调。
|
2020-10-17 22:50:54 +08:00 |
Calcitem
|
713dd47a23
|
debug.h: 增加 QT_UI 宏控制
|
2020-10-17 22:49:47 +08:00 |
Calcitem
|
fb6dd70562
|
thread: Remove searchStarted()/searchFinished()/act()
|
2020-10-17 22:32:08 +08:00 |
Calcitem
|
3f707ff5cd
|
refactor: 将网络对战模块从 Thread 类移到 GameController 类
并默认启用网络对战宏。
|
2020-10-17 22:13:58 +08:00 |
Calcitem
|
12ee4c3c70
|
解决 Position::command() 中的编译警告
|
2020-10-06 22:13:35 +08:00 |
Calcitem
|
bb0c2f3a11
|
net: WAR: 通过 NET_FIGHT_SUPPORT 宏控制将网络对战功能禁用
因存在内存泄漏问题故暂时关闭。
|
2020-10-06 21:59:10 +08:00 |
Calcitem
|
a52f9726a9
|
search: 解决 Stack ss 改为局部变量后导致的内存泄漏问题
|
2020-10-06 20:15:25 +08:00 |
Calcitem
|
45b6c67d67
|
rule: 解决切换规则后落子无反应的问题
将 rule 改为指针类型。
|
2020-10-06 11:10:10 +08:00 |
Calcitem
|
e2525b9326
|
UI: 解决 cmdlist 转移到 GameController 后人类落子不会记录到棋谱的问题
|
2020-10-04 21:37:47 +08:00 |
Calcitem
|
6cfcd459f1
|
UI: 解决pos和演算pos合并后对方还未落子就可以点击落子的问题
已知问题:
点击后依然存在问题,小概率出现。
|
2020-10-04 21:11:13 +08:00 |
Calcitem
|
514b07d23f
|
UI: gitTipos() 前先 updateScence() 以解决首次落子时状态栏未更新的问题
|
2020-10-04 20:08:40 +08:00 |
Calcitem
|
756b2f271a
|
thread: Thread::idle_loop() 中恢复原来 run() 中对 sideToMove 的判断逻辑
以解决刚运行程序黑方就落子的问题。
|
2020-10-04 18:10:59 +08:00 |
Calcitem
|
65a04384cb
|
thread: 修正 GameController::setEngine() 的逻辑
并进行一些重构
|
2020-10-04 18:09:45 +08:00 |
Calcitem
|
bbafc09ef8
|
thread: 添加 Thread::pause() 函数并将 stop 更名为 pause (WIP)
尚未确认是否正常工作。
|
2020-10-04 17:35:23 +08:00 |