(いい)プログラマーになろう!

かっこいいプログラマーになろう!

scratch 大乱闘スマッシュブラザーズ風ゲーム パート3

名古屋市瑞穂区で子供を対象としたプログラミングサークルを開いているサハラです!

パート2の続きを書きます。

 

f:id:yeah_boboi:20190101180727p:plain

5.ゲージに応じたダメージを受けた時のアクションを作ろう

次はゲージを作り、ゲージの値に応じてダメージを受けたときの挙動をかえる処理を作りましょう。

 

ダメージを受けた時、ゲージが

0%から100%の場合、キャラクターの色が変わる

101%から151%の場合、キャラクターが後ろに少し飛ぶ

151%から200%の場合、キャラクターが後ろに大きく飛ぶ

201%以上の場合、空中にぶっ飛ばされてリングアウト(=負け)

 

実際の処理としては下記のコードを書きます。

0%から100%の場合、キャラクターがコスチュームを変える

101%から151%の場合、キャラクターが後ろに30歩移動する

151%から200%の場合、キャラクターが後ろに80歩移動する

201%以上の場合、キャラクターが真上(y座標のプラス方向)に移動し続ける

キャラクターがy座標240に達した時にWinを表示する

 

1.ゲージを用意しよう

ゲージは既に作成したHPを使用します。初期値を0として、ダメージを受けるたびに値を増やしましょう。

f:id:yeah_boboi:20181231210111p:plain

 

2.ブロックを使用をしてダメージを受けたときのコードを作成しよう

ダメージを受けた時の処理を作成しましょう。ダメージを受けた時のゲージの値に応じて処理を変更します。今回はブロックを使用してみましょう。作ったブロックボタン、ブロックを作るボタンを押してください。

f:id:yeah_boboi:20181231212359p:plain

「ダメージを受けた時の処理」とブロックに名前をつけてください。またゲージをブロックに渡すため「引数を追加」を押して「number or text」をブロックに追加してください。

f:id:yeah_boboi:20181231212529p:plain

ブロックの処理を作成しましょう。キャラクターがコスチュームを変えるコードは既に用意したので、残りの下記の処理を追加します。

・101%から151%の場合、キャラクターが後ろに30歩移動する

・151%から200%の場合、キャラクターが後ろに80歩移動する

・201%以上の場合、キャラクターが真上(y座標のプラス方向)に移動し続ける

 

「もし〜なら」ブロックを使って下記のようにコードを作成してください。ゲージの値は引数として受け取るので、判定のブロックに「number or text」をはめてください。

f:id:yeah_boboi:20181231213218p:plain

用意したブロックを使用するコード側のコードは下記です。Batterのダメージを受けたコードで使用する場合は下記のように「Batter_HP」を引数部分にはめてください。

f:id:yeah_boboi:20181231212653p:plain

同じようにWizardのコードにも追加しましょう。まずはBatterで用意したブロックをWizardにコピーしてください。

f:id:yeah_boboi:20181231214030p:plain

本当はBatterとWizardと同じブロックを使用したかったのですが、絵が向いている向きと実際の「向き」が逆なので少しだけコードを修正します。

f:id:yeah_boboi:20190101174647p:plain

用意したブロックを使用するコード側のコードは下記です。Wizard_HPを引数に追加してください。

f:id:yeah_boboi:20181231214107p:plain

これでダメージを受けた時のコードは終わりです。

 

6.Winを表示するプログラムを書こう

次にキャラクターがy座標240に達した時にWinを表示するコードを書きましょう。下記のような感じで表示します。ただWinが表示されるだけだとつまらないので、上下に動くWINを作ってみましょう。

f:id:yeah_boboi:20190101180727p:plain

 

1.スプライトを追加しよう 

まず「W」「I」「N」のスプライトを追加しましょう。

f:id:yeah_boboi:20190101180922p:plain

 

これらスプライトはゲーム開始時は隠しておき、キャラクターがy座標240に達した時にキャラクターから「Winを表示する」メッセージを受け取って、「W」「I」「N」のスプライトを表示させます。

 

2. スプライトにメッセージを送信しよう

キャラクターがy座標240に達した時にキャラクターが「Winを表示する」を送信するコードは下記になります。Batter、Wizard両方のスプライトに追加してください。

f:id:yeah_boboi:20190101181435p:plain

 

3. メッセージを受け取ってWinを表示しよう

 「W」「I」「N」のコードは下記になります。「Winを表示する」メッセージを受け取ったら表示して、その後sinを使用して座標を変え続けます。意味がわからなくてもこの通り作れば動きます。もっと大きく動かしたい場合には、「50」の数字を変更してください。早く動かしたい場合には、角度を増やす数字を増やしてください。

f:id:yeah_boboi:20190101180934p:plain

これでWinを表示させるコードの完成です。

 

プログラミングサークルについて

CoderDojo瑞穂という団体名でプログラミングのボランティアサークルをやっています。scratch(スクラッチ)やプログラミングの体験ができる他、Viscuit、テキストプログラミングも体験ができます。非営利団体のため、特に参加料を徴収しておりません。

f:id:yeah_boboi:20181229191312p:plain

f:id:yeah_boboi:20181229191334p:plain




月2回開催しているので、良かったら遊びに来てください!! 申し込み等、詳細は下記からご確認ください。

 

coderdojo-mizuho.connpass.com

 

instagram

Dojoの写真やニンジャのビスケット作品を上げてます。

www.instagram.com

 

facebook

インスタの写真+ニンジャのスクラッチ作品やネットで見つけたスクラッチ作品の紹介やってます。

www.facebook.com

https://www.facebook.com/CoderDojo%E7%91%9E%E7%A9%82-296874087614515/