今回は、盤面をクリックした時のプログラムを組んでいきます!
盤面をクリックした時のプログラム
目的
- クリックした盤面が空白の場合、現在のターン(○か×)を表示する
- クリックした盤面が空白じゃない場合、は何もしない
これをプログラムしていきます。
こま1を選択肢→イベント で下記のプログラムを組んでいきます。
イベントとは・・・操作の起点となります。
上のプログラムを説明すると、
もし、勝者がいなくて、盤面の1番目が白紙(なし)なら
コスチューム(見た目を)ターン(○か×)にする。
『セットした』という処理は後で説明します。
これで、白紙の盤面をクリックすると×が表示されるようになります。
9マスの盤面を作る!
○×ゲームをやるには9マス必要です!
9マス作っていきましょう!
まず、『ます1』を右クリックし、複製を押します。
複製したら、コードを見て、1番目となっているところを2番目に変更していきます。
複製するたびに、3番目、4番目・・・9番目まで変更していきます。
全部できたら、旗マークを押して、白紙の状態から盤面を押していき
ちゃんと×が表示されたらOKです♪
ターンを切り替える
現在のままですと、×しか入力できないですが、
ターンを切り替えることで、○と×を交互に入力できるようになります。
盤面をクリックした時のプログラムの最後に『セットした』を送るというプログラムを組んだのを覚えていますか?
『セットした』を受け取るたびに、このプログラムの処理がされるということになります。
上の画像のプログラムを解説すると、
『セットした』を受け取ったら、(盤面をクリックしたら)
ターンが×なら、ターンを○にする。
ターンが○なら、ターンを×にする。
これにより、旗マークを押して盤面をクリックしていくと
勝ち負け判定
今までのプログラムで、マスを作り、○と×を交互に入力できるようになりました。
次は勝ち負けの判定を行っていきます。
勝ち負けについてはゲーム全体に関わることなので、『ステージ』に設定します。
そして以下のようなコードを作成します。
そしてこれを複製して、全ての勝ちパターンを設定します。
すると以下のようになります。
勝者がなしの場合も設定していきます。
勝者なしの場合、『次のターン』を送るとプログラムしました。
『次のターン』については後で説明します。
音を設定する
盤面に入力した時と勝者が決定した時の効果音を設定していきます。
ステージを選択し、『音を選ぶ』を押します。
任意の音を選択します。
するとコードの音カテゴリに選んだ効果音が追加されます。
『セットした』を受け取った時にWater Dropを鳴らすとコードが組まれているので、
クリックして○や×を入力する時の効果音がなります!
また、勝者決定した時に
Cheerという効果音がなるように設定しました。
最後の仕上げ
現時点で、勝者が決まってもマスはクリックに反応し、1ターンだけゲームが続いてしまいます。
これを修正します。
スプライト内の『ターン』を選択し、
ここで先ほど、勝ち負け判定のところで作った『次のターン』が出てきます。
『セットした』を『次のターン』に変更します。
『次のターン』は勝者が決定していない時に送られます。
なので、勝者が決定していたら『次のターン』は送られて来ず、
ターンに司令は送られて来ないので、勝者が決まった時点で○×の入力ができなくなります。
これで修正完了です!
まとめ
今回、○×ゲームを作ってみました。
Scratchを使ったプログラムなので、コード自体を打つのではなく、
コードが組み込まれたブロックを使ってプログラムを組みました。
ただ、コードを直接打ち込む場合でも、やること自体は今回やったことと同じです。
- ゲームの仕組みを理解し、どのような仕組みにすれば良いか考える
- 必要な素材を用意
- プログラムを組む
- しっかりと動作するかを確認しながら進めていく
- 最後に問題がないかしっかりと確認
プログラムを組んで必要なことはこんな感じだと思います。
論理的思考がとても必要です。
初めてプログラムを組んで、プログラミングへの考え方が大きく変わりました。
他のゲームを組んでみたり、新しいものにさらに挑戦していきます!