
以前のScratchに関する記事はこちらです。
- Scratch(スクラッチ)で簡単なゲームを作ってみました | novalue – 自分らしさで彩るメディア
https://no-value.jp/programming/11320/ - Scratch(スクラッチ)で簡単なゲームを作ってみました その2 | novalue – 自分らしさで彩るメディア
https://no-value.jp/programming/12669/ - Scratch(スクラッチ)で簡単なゲームを作ってみました その3 | novalue – 自分らしさで彩るメディア
https://no-value.jp/programming/13230/
今回はキャラクターをプログラムで動かして、ボールの当て合いをする対戦ゲームのようなものを作ってみました。まずは動画をご覧ください。
このプログラムを作ろうと思ったきっかけは、遊んでいたソーシャルゲームをオートで動作させると妙な動きをすることが多かったので、もう少しスマートに出来ないかと思い挑戦してみました。なかなか思うようには動きませんでしたが、Scratchで出来る範囲としては満足しています。
それではプログラムの概要を説明いたします。
まず相手の方を向き進んでいきます。ある程度の距離(射程圏内)になったらボールを投げます。相手からボールが飛んできた場合はよけます。相手にボールが当たったら10点加算し、200点先取で勝敗を宣言しプログラムを止めます。
ではプログラムを見ていきましょう。
今回用意したスプライトはキャラクターA、Bとそれぞれから発射される各ボールの計4つです。
ボールをよけるのにそれぞれ座標を取得する必要があるため、各スプライトごとにX、Yで合計8つの変数を設定しそれぞれ座標を代入しました。
キャラクター自身と向かってくるボールのX軸、Y軸の差を比較し、差の少ない当たりやすい軸側をよけるようにしました。また、相手に近づきすぎた場合はある程度距離を取るようにしました。そうしないとお互いに重なったままになってしまいます。
それから、ボールのプログラムで得点を管理し、200点先取したほうが「I won!」、負けた場合は「I lost」と表示するようにしました。
実際に組んだものは以下になります。




完成したゲームはこちらです。https://www.dropbox.com/s/jmbongf27iqo1wd/%E5%AF%BE%E6%88%A601.sb3?dl=0
Dropboxにはログインしなくてもダウンロード可能です。
一旦パソコンにダウンロードして任意の場所に保存し、Scratch(スクラッチ)のホームページの「作る」から「ファイル」→「コンピュータから読み込む」でダウンロードしたファイルを選択します。
緑色の旗を押すとゲームが始まります。チュートリアルは×印で閉じてしまって大丈夫です。