機能構成検討

 

機能構成

処理フローチャート

1回のオセロを動かすための処理フローは以下のようなものにする。この部分だけなら、将棋やチェスといった他のボードゲームでも同様の構成になると思われる。

f:id:Rosyuku:20150813011443p:plain

処理内容

暫定案なところもあるが、とりあえず以下のような処理とする。

  1. 初期化
    盤面の配列等、各変数を定義する。
  2. 対戦条件設定
    先手の条件(人間又はCPU)、後手の条件(人間又はCPU)、及びCPUのアルゴリズムを指定する。
  3. ゲーム終了判定
    先手・後手ともに石を置ける場所がなければゲーム終了とする。
  4. 状況表示
    現在の局面を表示する。ユーザーインターフェースにこだわるつもりはないので、以下のような単純なものとする。

       a b c d e f g h
      —————–
    1| 0 0 0 0 0 0 0 0 |
    2| 0 0 0 0 0 0 0 0 |
    3| 0 0 0 0 0 0 0 0 |
    4| 0 0 0 1 2 0 0 0 |
    5| 0 0 0 2 1 0 0 0 |
    6| 0 0 0 0 0 0 0 0 |
    7| 0 0 0 0 0 0 0 0 |
    8| 0 0 0 0 0 0 0 0 |
      —————–

    ※・・・0が石なし、1が黒石、2が白石を示す。

  5. 打ち手決定
    ここが一番のキモ。詳細別途。
  6. ログ記録・書き出し

    一手ごとに以下をロギングする。

    • 対局日時
    • 手数
    • 手番(先手/後手)
    • 着手した手
    • 候補手数
    • 先手石数
    • 後手石数
    • 先手情報
    • 後手情報
    • 優勢プレイヤー
    • 局面

 こんな感じで進めていきます。はてなブログの使い方にも慣れないとですね。。。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA