Commit Graph

1180 Commits

Author SHA1 Message Date
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
Calcitem b2de7354ce Add enc_temp_folder to .gitignore 2020-10-04 17:06:30 +08:00
Calcitem 08992a609c refactor: createAiThreads 中 1/2 替换为 BLACK/WHITE 2020-10-04 12:27:50 +08:00
Calcitem 76c8de5eef Revert "替换为 std::thread 后自对弈中途中止会触发 assert 故去掉部分 assert"
This reverts commit 1351917487.
2020-10-04 09:26:13 +08:00
Calcitem 1351917487 替换为 std::thread 后自对弈中途中止会触发 assert 故去掉部分 assert 2020-10-04 00:50:09 +08:00
Calcitem 188c03c734 thread: refactor: quit() 更名为 clearHistoryScore() 2020-10-03 12:37:46 +08:00
Calcitem 946aed645e thread: 删除 QTimer 相关代码 2020-10-03 12:33:28 +08:00
Calcitem 7a99164111 加入 SELF_MOVE 宏相关代码
启用后一启动,再点开始按钮开始不开启随机的情况下自对弈。
2020-10-03 12:11:58 +08:00
Calcitem 6dc589669f thread: 将 aithread.cpp/.h 并入 thread.cpp/.h 2020-10-03 11:54:30 +08:00
Calcitem ffbc18b30a thead: 彻底去掉 QThread
已知问题:刚启动UI就自动下了2子。
2020-10-03 10:41:05 +08:00
Calcitem 0d5667f8de thread: 将 QThread 继续替换为 std::thread
已知问题:

UI上黑白圈都按下后,需要点一次开始,才开始自对弈。

以下不易理解,待修改:
    void stopThreads()
    {
        aiThread[BLACK]->start_searching();
        aiThread[WHITE]->start_searching();
    }
2020-10-03 10:31:47 +08:00
Calcitem 86e96eb5af aithread: refactor 2020-10-03 09:38:20 +08:00
Calcitem 16594bdd1f thread: mutex 和 cv 由 Qt 替换为 STL 2020-10-03 00:24:02 +08:00
Calcitem 5043ae2bd9 aithread: refactor 2020-10-02 23:36:10 +08:00
Calcitem e3b3afdf63 AIAlgorithm 类并入 AiThread 类 2020-10-02 22:58:46 +08:00
Calcitem 2e63b9b5fb search: Sanmill::Stack<Position> ss 由类成员变量改为局部变量 2020-10-02 22:07:23 +08:00
Calcitem 0408fa57fc Sync fishmill 2020-10-02 21:49:20 +08:00
Calcitem d6d8845e2a PIECE_NB 改为 64 以避免潜在的越界 2020-10-02 01:57:18 +08:00
Calcitem 03f66e6f65 search/position: refactor 2020-10-01 20:10:04 +08:00
Calcitem bb72c31a15 position: refactor: 移动 key_after 函数位置 2020-10-01 19:33:29 +08:00
Calcitem 4294bbf32b key: 仅在 pieceCountNeedRemove 变动时立即更新高2位
更新 key 时不会动高2位,每次在 pieceCountNeedRemove 变动
时调用 update_key_misc() 更新高2位。

每次获取 key 前不再调用 update_key_misc();

next_primary_key() 更名为 key_after()。
2020-10-01 17:40:00 +08:00
Calcitem b020ec56ff position: 简化 update_key_misc() 代码 2020-10-01 16:58:58 +08:00
Calcitem 6e22421d8e key: key_misc 由8位下降到2位 2020-10-01 15:18:26 +08:00
Calcitem 032a514c5a key: 不再异或 pieceCountInHand 和 ACTION_REMOVE
两者并不会影响到 value 的计算,故可移除。
而 pieceCountNeedRemove 需要保留,因为会影响 value 计算。
2020-10-01 15:03:08 +08:00
Calcitem 0e54688853 Zobrist: 每次换边时异或 side 而不用 Key 的特定位标记轮到谁走
自对弈棋谱不变。
2020-10-01 15:03:08 +08:00
Calcitem 67da163100 position: 更新 do_move(Move m, StateInfo &newSt)
暂未使用此函数。
2020-10-01 10:09:33 +08:00
Calcitem 0ba2a8aebd do_move(): +st->rule50 移动到函数末 2020-10-01 09:46:43 +08:00
Calcitem beb4292930 position/movegen: refactor 2020-10-01 00:39:09 +08:00
Calcitem b6043cbdce refactor: 格式化 thread.cpp/timeman.cpp/uci*.cpp 2020-09-29 19:35:03 +08:00
Calcitem 4e50c2deca MovePicker::score() 中不再使用 them 成员变量
并且将 pos 直接访问成员变量改为通过函数
2020-09-29 18:58:21 +08:00
Calcitem 051085beb9 config.h: PREFETCH_SUPPORT 宏改名为 DISABLE_PREFETCH
并反向宏控制。
2020-09-29 18:39:37 +08:00
Calcitem 63784b2995 config.h: 删除无用的 COMPARE_RATING_ONLY 宏 2020-09-29 18:36:11 +08:00
Calcitem 16d472ce43 config.h: 删除无用的 DEBUG_MODE_A 和 RANDOM_MOVE 宏 2020-09-29 18:34:16 +08:00
Calcitem 9cf8c7718a 删除残留的 ALPHABETA_AI 宏
并且把 SORT_MOVE_WITHT_HUMAN_KNOWLEDGES 改名为 SORT_MOVE_WITHOUT_HUMAN_KNOWLEDGES
并反向宏控制。
2020-09-29 18:30:57 +08:00
Calcitem c68c81ac40 Evaluation::value() 直接调用 pos 的成员变量改为调用函数 2020-09-29 18:06:02 +08:00
Calcitem 5eaff47045 move_piece: select/put 简化为调用 move_piece(f1, r1, f2, r2) 2020-09-29 18:04:31 +08:00
Calcitem 8b7786dda9 rule: 移除 "九连棋"
所有规则均允许在相同位置相同序号的三连重复提子。
2020-09-29 10:18:09 +08:00
Calcitem e384d99032 types: 不使用 abs() 函数 2020-09-24 01:55:13 +08:00
Calcitem e67f6ca8a1 types: 移除 Score 类型 2020-09-24 01:20:10 +08:00
Calcitem af062f0ebd types: 移除 Step 类型
原为 uint16_t, 改为 int。
2020-09-24 01:10:49 +08:00
Calcitem c921bafbf6 misc.h: 清理多余代码 2020-09-24 00:34:49 +08:00
Calcitem fea8b8af4e search: 清理部分多余代码 2020-09-24 00:01:33 +08:00
Calcitem f5e454f350 search: 新增 Stockfish 的 Thread::search() 函数
暂未调用下一级搜索函数。
2020-09-23 01:40:48 +08:00
Calcitem db7b742937 search: 新增 UCI::pv() 等一些 Stockfish 函数 2020-09-23 01:23:46 +08:00