Scratch【上級】

【上級者向け】格闘ゲームの作り方(第2回)

対象:上級者向け
ブロック数:119こ

完成品の確認

操作方法

スペースキー:攻撃する
左右キー:左右移動
上キー:ジャンプする

相手の攻撃を避けながら、こちらの攻撃を当てていきます。「敵HP」が0になれば勝ち、「味方HP」が0になれば負けです。

準備をしよう

下のURLをクリックして、スクラッチを開いてください。
https://scratch.mit.edu/projects/826982240/editor/

プログラミングする

「味方」のプログラム

初めの設定、重力をかける

下のプログラムを入れて下さい。

まずは、画面左下に配置しておきます。

ずっとで、茶色に触れていたら何もしない、触れていなければ下に落ちる、とプログラムを入れています。これで重力がかかったようにできます。

左右上キーで操作

下のプログラムを入れて下さい。

ずっとの中に「敵へ向ける」を入れておくことで、常に敵の方を向かせることができます。

あとは、左右上キーをおしたときのそれぞれの処理を「もし」で作れば、左右移動、ジャンプの動きが作れます。

スペースキーで攻撃

下のプログラムを入れて下さい。

スペースキーを押すと、コスチュームが変わるようにしています。

あとで「敵」の中にダメージを受けるプログラムを作りますが、味方のコスチュームが「dinosaur2-d」のときにダメージが食らうようにします。

ダメージを食らう

最後に、下のプログラムを入れてください。

変数「味方HP」を作成し、初期値を「10」にしておきます。

敵に触れていて、さらに敵のコスチュームが「4」、つまり「dinosaur4-d」なら、変数の値を「-1」して、1秒間半透明にしています。

ゲームオーバー

下のプログラムを、さきほどのプログラムに追加してください。

ダメージを食らったとき、変数「味方HP」が「0」ならゲームオーバーの処理を追加しています。

ゲームクリア

下のプログラムを入れて下さい。

「敵」からのメッセージを受け取って、ゲームクリアにしていきます。

プログラム確認

緑の旗を押して、動きを確認してください。以下が確認できればOKです。

  • 左右キーで、移動できる
  • 上キーで、ジャンプできる
  • ジャンプ後、重力がかかって地面まで落ちる
  • スペースキーで、コスチュームが変わる

「味方」のプログラムはこれで完成です。

「敵」のプログラム

初めの設定、重力をかける

下のプログラムを入れて下さい。

まずは、画面右下に配置しておきます。重力の作りは、「味方」と同じです。

「味方」に向ける

下のプログラムを入れて下さい。

ずっと「味方」に向けます。

また後のプログラムで必要になるので、変数「敵向き」を作っておきます。

「敵」自身の角度がプラスなら全て「90」、マイナスなら「-90」にしています。

ランダムに動かす

下のプログラムを入れて下さい。

変数「動き種類」を作って、「1~5」のどれかの数になるようにしておきます。

その後、3つの分岐を作ります。「1」ならジャンプ、「2」なら後ろに下がる、それ以外(「3」~「5」)なら前に進む、としています。

ランダムに攻撃させる

下のプログラムを入れて下さい。

変数「攻撃種類」を作って、「1~3」のどれかの数になるようにしておきます。このうち「1」ならコスチュームを「dinosaur4-d」にし、それ以外なら何もしません。

「味方」の方で、「敵」に触れていてさらにコスチュームが「4」=「dinosaur4-d」ならダメージを食らう、というプログラムを作っていますので、これで「味方」に攻撃ができます。

ダメージを食らう

下のプログラムを入れて下さい。

変数「敵HP」を作って、初期値を「10」にしておきます。

「味方」でも同じように作りましたが、「味方」に触れていてさらにそのコスチュームが「4」=「dinosaur2-d」なら、ダメージを食らうようにしています。

ダメージを食らったときに、変数「敵HP」が「0」になったら、メッセージ「勝ち」を送っています。「味方」で受け取って、ゲームクリアの処理を作っています。

プログラム確認

緑の旗を押して、動きを確認してください。以下が確認できればOKです。

  • 「敵」が、ランダムに自動で動く(進む、後退する、ジャンプする)
  • 「敵」が、ランダムに攻撃してくる
  • 「味方」からダメージを受ける
  • 「味方」にダメージを与える
  • 「味方HP」が0になったら、ゲームオーバーになる
  • 「敵HP」が0になったら、ゲームクリアになる

「敵」のプログラムはこれで完成です。

おめでとうございます。これでゲーム完成です。

すべてのプログラム(完成コード)

リミックスのポイント

「敵」の動きを活発にする

下の数字を変えてみましょう。動きが活発になります。

「敵」の攻撃が多く出るようにする

下の数字を変えてみましょう。敵の攻撃が多くなります。

今回は、上級の第2回ということで、「格闘ゲーム」を紹介しました。次回もお楽しみに♪

タイトルとURLをコピーしました