× 将棋のルールを表現するモジュールが欲しいな。
○ 将棋のルールを表現したデータが欲しいな。

> これは変わらないものだし、ユーザ入力も思考ルーチンでもチェックに
> 利用できるようになっていると嬉しい。
関係ないものを混ぜるな。
役割は分離させろ

> あとソフトウェア内部での盤面や指し手についてのデータ構造だな。
> プレイの間だけデータを持ってればいいのかセーブ・ロードが必要なのか
> Redo/Undoが欲しいかなどの要求が考えられるから、それらに対応できるような
> 構造になってると嬉しい。

そんなの一瞬で思いつちゃったw 棋譜データを記録すれば再現できる。
['7六歩', '8四歩', '6六歩', '6二銀', ・・・] こんな感じだな。