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 |
Calcitem
|
7b5e1a2f2b
|
解决 in_how_many_mills() 中当 c 为 NOBODY 时逻辑错误的问题
提交 1d7ecd6680 对
in_how_many_mills() 函数的开头
if (player == PLAYER_NOBODY) {
player = locationToPlayer(square);
}
修改为:
if (c == NOBODY) {
c = Color(locationToColor(square) >> PLAYER_SHIFT);
}
不符合本意。导致 c 变成 NO_COLOR。
现在更正之。
并全面消除 PLAYER_SHIFT (4)
和修改前对战700盘,胜率误差6%,可认为对胜率无影响,并且对自对弈效率也无影响。
|
2020-09-20 20:46:44 +08:00 |
Calcitem
|
51d8f7ed8c
|
update_score() 提取到 xxx_piece(File f, Rank r) 函数执行
|
2020-09-20 17:48:14 +08:00 |
Calcitem
|
cb1cba741c
|
position: 去掉 set_position() 和 reset() 中多余的 update_score()
|
2020-09-20 17:20:28 +08:00 |
Calcitem
|
c4be5d3da9
|
将 check_gameover_condition() 中对于对方是否总子数少于3的判断转移到 remove_piece() 中
|
2020-09-20 16:59:14 +08:00 |
Calcitem
|
6173894f20
|
rule: 去掉计时规则相关代码
|
2020-09-20 16:52:48 +08:00 |
Calcitem
|
962cece2c5
|
remove_piece: 将更新棋盘上棋子数以及检查游戏结束条件的语句提前
提前到判断 false 条件之后马上进行,更新 hash 值之前。
|
2020-09-20 16:39:53 +08:00 |
Calcitem
|
e0ed37a13e
|
position: do_move() 中统一使用 to_sq()
|
2020-09-20 16:26:23 +08:00 |
Calcitem
|
76091ff4e2
|
position: 消除部分 warning
微调语句顺序
|
2020-09-20 16:24:16 +08:00 |
Calcitem
|
d09cbd54bc
|
position: 更多使用 file_of(s) 和 rank_of(s)
|
2020-09-20 16:12:48 +08:00 |
Calcitem
|
a45a8006e5
|
position: do_move() 中统一执行 move = m 操作
|
2020-09-20 15:56:07 +08:00 |
Calcitem
|
806b97d334
|
types: 新增 is_ok(Move m) 函数
顺带新增未完成的 Position::legal() 函数。
|
2020-09-19 23:38:47 +08:00 |
Calcitem
|
b0e01f64b4
|
position: 删除 Position& Position::set(const string& code, Color c, StateInfo* si) 函数
TB 才用到,故删除。
|
2020-09-19 23:12:27 +08:00 |
Calcitem
|
e1f066bbfc
|
position: 基本完成 set 函数
put_piece() 因接口还未适配完成故暂不调用。
|
2020-09-19 23:05:41 +08:00 |
Calcitem
|
1e29418e2c
|
check_gameover_condition: 改为参数个数为0
去掉 updateCmdlist 参数。
|
2020-09-13 00:38:09 +08:00 |
Calcitem
|
2640999584
|
check_gameover_condition(): Clear code
|
2020-09-13 00:23:17 +08:00 |
Calcitem
|
3945ab0383
|
refactor: 重构 put_piece()
|
2020-09-12 23:15:06 +08:00 |
Calcitem
|
c2ee2e9c53
|
移除 cmdline 中的时间戳而只保留着法
|
2020-09-12 21:48:21 +08:00 |
Calcitem
|
0255584385
|
cmdlist 插入状态相关行时在命令行打印
|
2020-09-12 20:15:14 +08:00 |
Calcitem
|
81b202babe
|
大部分 sprintf 转移到 gameController
解决 cmdlist 移走到 gameController 后控制相关和状态相在 cmdlist
不见的问题。
目前自对弈耗时由5800ms左右缩减到5300ms左右。
|
2020-09-12 11:31:17 +08:00 |
Calcitem
|
26eb01e259
|
WAR: 临时性解决点击棋谱后无反应的问题
因为 cmdlist 移动框 gameController 后,每次重新开局被清空后
就没有首行的 s2... 了,临时解决方式是先备份这一行,清空后再
插回去。
|
2020-09-11 00:32:32 +08:00 |
Calcitem
|
51e5f22f06
|
cmdlist 从 Position 移动到 GameController 里
已知问题:
棋谱中目前只加入走棋棋谱,其他的控制相关和状态相关的不见了。
|
2020-09-11 00:31:40 +08:00 |
Calcitem
|
dbc1e56dc3
|
position: refactor remove_piece()
|
2020-09-08 02:01:04 +08:00 |
Calcitem
|
9743664c1f
|
position: 简化当摆棋完成时更换行棋方的逻辑
|
2020-09-08 01:43:57 +08:00 |
Calcitem
|
d26c78580f
|
nextMove() 返回值改为 string
并且 command 类型由 QString 改为 string。
|
2020-09-07 01:03:34 +08:00 |
Calcitem
|
e1ecfcc2df
|
完成 UCI::move(Move m) 函数并全面应用
|
2020-09-07 00:05:14 +08:00 |
Calcitem
|
dd10fcb8d3
|
全面使用 file_of() 和 rank_of() 代替旧函数
|
2020-09-06 23:38:14 +08:00 |
Calcitem
|
ddbd0c2ea6
|
position: 使用 rule50 和 gamePly 代替老变量
|
2020-09-06 22:50:54 +08:00 |
Calcitem
|
2e57330126
|
put_piece(): refactor
|
2020-09-06 22:26:13 +08:00 |
Calcitem
|
81f5a5e5ce
|
改为使用确认OK的 make_square() 函数
|
2020-09-06 21:58:44 +08:00 |
Calcitem
|
5182518257
|
position: 实现 Position::set() 部分代码
|
2020-09-06 21:50:37 +08:00 |
Calcitem
|
79019ddb74
|
do_move() 改为传2个参数
|
2020-09-06 20:49:22 +08:00 |
Calcitem
|
79899d8f94
|
uci: 加回来代码
|
2020-09-06 20:32:08 +08:00 |
Calcitem
|
a021eb9da7
|
GameController: Position * 改为 Position &
|
2020-09-06 12:37:35 +08:00 |
Calcitem
|
31d9bd8294
|
movegen/movepick: Position * 改为 Position &
|
2020-09-06 12:32:35 +08:00 |
Calcitem
|
490983195d
|
eveluate: Position * 改为 const Position &
暂时去掉 UCI 代码。
|
2020-09-06 12:21:30 +08:00 |
Calcitem
|
69451b47f3
|
setTips: 处理黑白翻转的情况
|
2020-09-06 00:57:40 +08:00 |
Calcitem
|
6fcfad918c
|
setTips: Position 指针改引用
|
2020-09-06 00:54:55 +08:00 |
Calcitem
|
80188e0547
|
analyze: 修复步数为16进制的问题
|
2020-09-06 00:51:29 +08:00 |