シンプルゲームでプログラミングを学ぼう!(22)「ボスキャラ機能の調整」
シンプルゲームでプログラミングを学ぼう!(22)「ボスキャラ機能の調整」
★今日のサンプルプログラム・・・> こちら
※できれば以下の記事をさっと見てから開いてくださいね!
※はじめてこのページにお越しの方は、シリーズ(1)からご覧いただき、各回ごとにサンプルプログラムをさわって頂けるとうれしいです。
これまで、サンプル教材 落ち物系ゲーム「ボールドロップ」を少しずつ進化させてきています。※最初に設定した「ボールドロップ」からイメージは大きく変わってきましたが・・・
先回のおさらい → こちら
前回の記事 → こちら
前回の成果
・ふきだし・音声が入り乱れた前々回のゲームと比べてずいぶんすっきりしてきました。
・さくさくと動くようになり、得点も10点ずつ入っていく小気味よさを感じるようになりました。
でも・・・・ボスキャラ(悪役キャラ)の動きと反応が気になりませんか?
ボスキャラの動き・反応を気にしながら、見てみましょう見てみましょう! 先回のアプリ → こちら
いかがでしょうか?
ボスは確かに、コップに近づいてきますが、反応しない場合があります。反応すると「ウホホホ」と声を発しますが、確かにさわっているはずなのですが、まったく反応しない時もあります。
これでは、ボスの価値が下がってしまいます。
原因はプログラムの中にかくれているはずです。
【(3)秒で(コップ)に行く】がプレイ中に繰り返されるので、ボスはずっとコップを追いかけます。
いいような気がしますが・・・・
コップに移動する3秒間は、それ以下のコードを実行できないのです。
言いかえると、ボスは移動中は、コップにふれても反応できないのです。
プログラミングは、基本、上から下に順に実行されます。
だから、
【(3)秒で(コップ)に行く】 の動作中は、次のプログラムに進めません。移動中なら、コップにふれても反応しないので、コップは簡単に逃げられます。
かっと言って、【(0.1)秒で(コップ)に行く】にしてしまったら、コップはすぐにボスにつかまってしまうので、ゲームになりません。
だから 【( )秒で( )に行く】は、使えません。
では、どうすればよいのか・・・?
ボスになったつもりで、考えると答えが出てきます。
【(3)秒で(コップ)に行く】 なら、コップに行くまで他のことがしたくてもできません。
でも
コップの向きに、常に、「1歩進むごとに、コップにさわったかを確認」したらどうでしょうか?
そういうことが可能なコードブロックが無ければ万事休すですが、ちゃんとあるのです!
【(コップ)へ向ける】
【(数字)歩動かす】
です。【(数字)歩動かす】 の数字が、大きすぎるとコップを通り過ぎるので小さくしてみます。
今回は【(2)歩動かす】 にしてみました。
効果はてきめんですね! かすっただけで、減点します。
これにともないぶつかるごとの減点を減らします。
でも、また困ったことが起きました。
さわった瞬間に、ボスは減点を続けるので、あっという間に、ゲームオーバーになってしまいます。
そこで、
コップに、さわった瞬間に、ボス隠す【隠す】(非表示)にして、数秒後に、【表示する】にします。
非表示の状態では、ボスキャラは、コップとの接触を感知できません。数秒後にボスが姿を現すまでに、コップは逃げることができます。
実際のコードのこの部分です。
今回の進化(変化)ポイント
さっそく今日のサンプルプログラムで動作チェックしてください。
ボスキャラは一気に手強くなったと思います。
その分、ゲームが面白くなった・・・かも
今回はここまでです。
★今日のサンプルプログラム・・・> こちら
せっかくここまできたのだから・・・あそこを・・・もうすこし・・・(でも、ゴールはもう目の前かも知れません)
ここをこうしたい! もっとこうしたい!
そういう思いが高まってきた人は、次回の記事もぜひご覧ください。
・・・次回に続く・・・
前回までの記事もご覧くださいね。
<カネッチの学舎 関連リンク>
・Note版トップページ https://note.com/kanech21
・テーマ別マガジン https://note.com/kanech21/magazines
・WEB版 カネッチの学舎 小学部トップページ
https://kanech21.jp/k_index.html
・カネッチのスクラッチスタジオ https://scratch.mit.edu/search/studios?q=kanech21
・カネッチの学舎 コンテンツストア
https://kanech-manabiya.stores.jp/