■将棋を作る(2) 駒の成り、駒を奪う
進捗
GIFを直接貼るとアップロードに失敗するので、twitterの投稿です。
段々と将棋っぽくなってきました。将棋に限らずですが、予めルールや仕様がカッチリ決まってるものは予想通りもの凄く作り易い。
後は持ち駒を使う処理(制御含め)、詰みとゲームリセットを作れば概ねゲームとして成り立つ感じになりそう。
プログラム的な話
盤面は9×9の二次元配列で、各要素の中には駒クラスが入っています(駒が無いマスの中身はNULL)。
将棋はゲームとしては比較的静止画に近い様な感じなので、二次元配列の中身は数字(駒のID)を入れれば良いかとも思いましたが、駒の種類や駒の持ち主(プレイヤー)、駒が成っているか否か、駒が敵陣地内に居る(或いは居た)か、など改めて考えると意外と色々な情報を持っておく必要があったので、クラスにまとめることにしました。持ち駒もクラスにしようかとも思いましたが、駒の種類と所持数だけ情報として持っていれば良いため、プレイヤー毎に持ち駒のリストを持たせ(リストの要素番号は駒のIDに対応する)、リストの中身はその駒の所持数を入れるようにしました。
次回
持ち駒を使う処理、詰みとゲームリセットを作ります。
この記事が気に入ったらサポートをしてみませんか?