2016 ソフトウェア設計及び演習用の班Wiki

gr09::ものの操作と洗い出し

もの

・コマ(白) ・コマ(黒) ・盤面 ・プレイヤー

動作内容

・プログラム手順

whileで先手(黒)と後手(白)が交互にループし、ユーザーによって「待った」、「終了」などの動作が指定されたときには別の操作へと移行する。

・ボード全体のメモリ

ボードは8x8(基本的には)=64(byte)のメモリで表し、1byteの内容によって各マス目の状態を保存する。
基本は黒は01、白は10、空ならば00で表す。

・コマを置く

入力値がオセロ盤から外れていたらその場でエラーを返す
GTK(p.318マウスボタンのクリックの検出)によってマウスが座標を表示されたマス目上にあるか、判定しその座標をボード状態を変更するための関数へ渡す
 また同時にコマの反転処理も行う

・コマの反転処理

 8方向に判定し、可能であったら反転する

・表示

 毎ターンのメモリを読み更新をする

・Undo機能

 プレイヤーがユーザーであるときのみ使用可能。
 ターンごとに全てのボード状態を保存するのでメモリを圧迫する可能性がある。またセーブファイルが大きくなる可能性もある。

○セーブファイル

 セーブファイルはヘッダに経過ターン数とボード幅、それ以降をボード状態を保存し、読み込みの際にボード幅を利用してマスの数を判定する。(セーブファイルが正常であるか判定するため)


最終更新日:2016/07/29 13:53:36