リバーシ


ゲームのうごきをえてみよう

プロジェクトを変更へんこうしてうごきなどをえてみたり、機能きのう追加ついかしてみたりしましょう。

設定せってい変更へんこう

マスの数をらす

  • 変更へんこうするスプライト:
  • がクリックされたときに以下いかのように変更へんこうすると、 1辺のマスの数を8から4にらすことができます。

マスの数をらす

  • 変更へんこうするスプライト:
  • がクリックされたときの、 以下いか部分ぶぶんの「1辺のマスの数を8から16にやします」を変更へんこうします。

    また、そのままだとはみ出してしまうので、以下いかのようにも変更へんこうします。

    そうすることで、以下いかのようにマスの大きさを半分にした状態じょうたいです。

ゲーム開始から終了までを自動的じどうてき再現さいげんする機能きのう追加ついかする

  • 対戦中たいせんちゅうに石をいた順番じゅんばん記憶きおくしておきます。
    対戦終了後たいせんしゅうりょうごにREPLAYボタンをされたらREPLAYモードにし、 スペースボタンをすたびに1つ前の対戦たいせんと同じ順番じゅんばんで石をいていくことで開始から終了までを再現さいげんします。
    まず新しいスプライトとしてREPLAYボタンとマス-リプレイを追加ついかします。
  • REPLAYボタン
    新しいスプライトとしてREPLAYボタンを追加ついかします。

    上記の赤丸部分ぶぶんをクリックしてスプライトライブラリーをひらき、Button2を選択せんたくします。

    通常つうじょう対戦時たいせんじとリプレイ時のコスチュームを作ります。
  • マス-リプレイ
    マスの複製ふくせいを作り、そのスプライトの名前をマス-リプレイにします。

次に通常つうじょう対戦たいせんをおこなう処理しょりの中に1手ずつの履歴りれき保存ほぞんする機能きのう追加ついかします。

  • マス
    すべてのスプライト用のリスト履歴りれき-マスを作ります。

    初期化しょきか以下いか追加ついかします。

    以下いか変更へんこう後のスクリプトです。
  • このスプライトがクリックされたとき追加ついかします。
    履歴りれきにはどちらのターンであるかの情報じょうほうふくむので必ず よりも前に追加ついかします。
    以下いか変更へんこう後のスクリプトです。
  • リプレイ開始を受け取ったときのスクリプトを追加ついかします。

    このスクリプトではリプレイ開始 を受け取ったら(リプレイモードになったら)、表示ひょうじ中のクローンをすべて削除さくじょしています。

REPLAYボタンにスクリプトを追加ついかします。

  • REPLAYボタン
    がクリックされたとき(通常つうじょう対戦たいせんを開始するとき)には ボタンを表示ひょうじする座標ざひょう設定せっていし、通常つうじょう対戦時たいせんじのコスチュームにします。
    このスプライトがクリックされたとき (リプレイを開始するとき)にはリプレイ時のコスチュームにし、 リプレイ開始 を送ります(マスとマス-リプレイが受け取ります)。

マス-リプレイのスクリプトを変更へんこうします。

がクリックされたとき

    • 説明せつめい
    • 非表示ひひょうじにします。クローンではなくオリジナルであることがわかるように クローン?をnoにします。

初期化しょきか

    • 説明せつめい
    • 各変数かくへんすう、リストを初期化しょきかします。

    • コードの詳細しょうさい
    • ターンを1にします。
      現在の手数を1にします。 コスチュームをなしにします。
      マスリスト要素ようそ一旦いったんすべて削除さくじょします。
      仮想かそう盤面ばんめんのマスの数だけマスリストに0を追加ついかします。

リプレイ開始を受け取ったとき

    • 説明せつめい
    • ならべられているマス(クローン)を一旦いったんすべて削除さくじょし、通常つうじょう対戦たいせんと同じような形で配置はいちします。

    • コードの詳細しょうさい
    • クローンであれば(クローン?=yesならば)削除さくじょします。

      初期化しょきかを実行して各変数かくへんすう、リストを初期の状態じょうたいにします。( 初期化しょきかの内容はマスの場合と少しことなります)

      表示ひょうじされていたクローンが一旦いったんすべて削除さくじょされてから新しくマスをならべたいのでねんのため1秒待ちます。

      マスをならべるを実行して各マスを配置はいちします。

      石を中央にを実行して盤面ばんめんの中央に黒を2つ、白を2つ石をきます。

      石更新を送ります。

スペースキーがされたとき

    • 説明せつめい
    • 履歴りれき-マスリストから順番じゅんばん履歴りれき抽出ちゅうしゅつし、該当がいとうするマスに石をならべていきます。

      スペースキーされたときの イベントはオリジナルとすべてのクローンが受け取るので、 履歴りれきから取得したマス番号に該当がいとうするクローンのみが以降いこう処理しょりを実行するようにします。 スペースキーが1回された時に石を処理しょりを実行するマスは常に1つだけです。

      実際じっさいに石をいてはさんだ石をうら返す処理しょりなどは通常つうじょう対戦時たいせんじと同じ処理しょりをします。

    • コードの詳細しょうさい
    • 履歴りれき-マスリストから 現在の手数該当がいとうする履歴りれき情報じょうほうを取り出します。

      履歴りれきにはその手数の時に石をいたマスの番号が入っています。 黒の番であればそのままプラスのあたい、白の番であればマスの番号に-1をかけたマイナスのあたいが入っています。

      つまり履歴りれきから取り出したあたい絶対値ぜったいちが石をいたマスの番号となります。

      履歴りれきから取り出したマス番号と同じ番号が割り当てられているマス(クローン)のみ、 それ以降いこう処理しょりを実行して石をきます。

      処理しょりを実行するマスは1つだけであり、それ以外のマスは何もせずにスクリプトを終了します。

      履歴りれきから取り出したあたいがマイナスの場合はターンを-1(白)にし、 プラスの場合はターンを1(黒)にします。

      それ以降いこう通常つうじょう対戦時たいせんじと同じようにして石をき、はさんだ石をうら返します。

      最後に現在の手数を1やすブロックを追加ついかします。

  • 削除さくじょするスクリプト
    • 盤面ばんめん設定せってい
    • このスプライトがクリックされたとき
  • 変更へんこうしないスクリプト
    • マスをならべる
    • 石を中央に
    • クローンされたとき
    • 更新こうしんを受け取ったとき
    • 石をける?
    • この方向でうら返せる?
    • 各方向をうら返す
    • 1方向をうら返す
    • 黒白(かり)→確定かくてい

以上で変更へんこう完了かんりょうです。次のようなうごきとなります。


  • 通常つうじょう対戦後たいせんごにREPLAYボタンをすとREPLAYを開始します。
^