指し手にどんな情報を含めるべきか?
1から作ると自分が納得できるように書けるんだけど、自分でも悩んでいるところが書きにくい。
(れさぴょん流用のときは悩まずに済んだわけで、その意味でもライブラリには価値がありますね)
- 駒はunsigned
- 32bit に pack (64bitは止めた)
- 6..0bitに移動先
- 13..7bitに移動元
- 14bitに成り
ここまではすんなり決まったけど、残りが難しい。
- 移動する駒/取った駒は駒種だけでいいか、プレイヤー情報も入れるか?
- 打つ場合、打つ駒の情報はどこに入れるか?
- 移動元+80?
- れさぴょんはfrom=0にしてるけど、座標に0を使ってる場合はこの手は使えない
連続していた方がうれしいbitってのもあるから難しいんだよなあ。
chessなんかだと、駒種すら持たないものもあるようだけど(どうせ盤面にあるからFrom/Toから生成できる)、ちょっと試したらデバッグが大変だったので止めた。かなりbit数を減らせるんだけどね。