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 |
Calcitem
|
29bfdbdd39
|
添加了新的 Stack 类但暂未使用
|
2020-09-23 00:51:03 +08:00 |
Calcitem
|
f44d6d2fd4
|
position: 增加几个 undo 函数声明但暂未完成编码实现
|
2020-09-23 00:30:11 +08:00 |
Calcitem
|
415dafd47d
|
search: StateInfo st 前移到开头声明
|
2020-09-23 00:14:55 +08:00 |
Calcitem
|
efd6b44bdb
|
position: 统一在 do_move() 中递增 gamePly 等值
|
2020-09-23 00:14:16 +08:00 |
Calcitem
|
391e5e1a83
|
position: refactor put_piece()
|
2020-09-20 23:38:14 +08:00 |
Calcitem
|
106d9f9cce
|
MCTS: 移除完 MCTS 相关代码
|
2020-09-20 23:04:22 +08:00 |
Calcitem
|
a3854b94fb
|
position: 新增 set_gameover() 函数并使用
|
2020-09-20 22:54:46 +08:00 |
Calcitem
|
df58e02132
|
refactor: giveup 更名为 resign
|
2020-09-20 21:52:41 +08:00 |
Calcitem
|
ae4c8a8b36
|
check_gameover_condition: 当无子可走时不时都定为游戏结束而是先看规则
|
2020-09-20 21:28:42 +08:00 |
Calcitem
|
b88af2f95f
|
rule: 更名为 isLoseButNotChangeSideWhenNoWay
|
2020-09-20 21:26:25 +08:00 |
Calcitem
|
bab6472ff2
|
position: xxx_side_to_move 改为 inline
|
2020-09-20 21:16:17 +08:00 |
Calcitem
|
bd4d69a159
|
position: refactor: 更名为 remove_ban_stones() 并且执行前需判断规则
此函数内部对规则的判断改为 assert。
|
2020-09-20 21:10:43 +08:00 |
Calcitem
|
346fa2dfb9
|
remove_piece: 将少于2子的判断重新移动到 board 变更之后
以解决 962cece2c5 引入的最终棋盘上
还没到去掉倒数第3子就结束对局的问题。
|
2020-09-20 20:58:23 +08:00 |