こんにちは!
キッズプログラミング教室「イフキッズアカデミー」
池ちゃん先生です。
今回はプログラミングのお話。小難しいお話が出てくるかもしれませんが、ご容赦下さいませ。
さて、今回はScratchでボタン連打を使った「かけっこゲーム」を作ってみましょう。
ゲームのルールはこれだけ。
①2人で対戦。
②ボタンを連打して、先にゴールに着いた方が勝ち。
まず、①のルールから準備していきましょう。
対戦なので、キャラクターがふたつ必要ですよね。
キャラクターは自分で書いてもいいのですが、私は画伯なので(苦笑)、Scratchに最初から用意されているものを使います。
キャラクターを選ぶのには「スプライトを選ぶ」を選択します。
ネコ対イヌの対戦にしようかと思い、今回は最初からいるネコのスプライトと、「Dot」というスプライトを選びました。
では、ネコとイヌそれぞれのスプライトに対してプログラムを作っていきます。
さて、次は②のルールについて考えます。
ボタンを連打して競走するので、ネコさんは「スペースキー」を押したら前に10歩動くようにします。こんな感じ?
でもこれだと、ボタンを押しっぱなしでも動いてしまうため、勝負になりません。 「ボタン連打」というのがポイント。1回押すたびに少しずつ動かないといけませんよね。
つまり、「ボタンを離さないと次にいかない」となるようにプログラミングするのがポイントです。
「ボタンを離す」というのは、「ボタンを押していない」ということなので…
「ではない」のブロックと、「までまつ」のブロックを組み合わせて使います!
ここが今回のコツ1つ目です!
こうすると、スペースキーを1回押すごとに少しずつ前に動くようになりました。
あとはゴールの判定です。
「どちらかが画面の端(ゴール)に着いたらその場でストップする!」ようにします。 そうすると端に着いている方が勝ち。
端に着いているかどうかを調べるには、「端に触れた」のブロックを使います。
また、端に触れたらみんなその場に止まらないといけないので、「すべてを止める」のブロックをつなげます。
誰かがゴールについたら、みんながその場にじっとしていないと誰が1位なのか分かりませんもんね。
さあ、これで完成です。
実行してみましょう!
・・・あれ?おかしいですね。
「すべてを止める」としたのに、まだキャラクターが動いてしまいます。
これではどっちが勝ったのか分かりにくいですね。
なぜ「すべてを止める」としているのに動いてしまうのでしょうか?
実は、「スペースキーを押されたとき」のブロックを使っているからなんです。
「プログラムを開始するには、緑の旗ブロックを使う。」と覚えている人も多いと思いますが、実は「イベント」にあるブロックは「プログラムを開始する」為のブロックなんです。
「すべてを止める」ブロックでプログラムを停止させた後に、
またスペースキーが押されているので、
また新しくプログラムが始ってしまい、ずっと動き続けてしまうんですね。
なので、「すべてを止める」でピタっと止めたい場合はこんな風に「調べる」にある「スペースキーが押された」のブロックを使って作ります。これが今回2つ目のコツ!
こうするとちゃんとピタッと止まってくれます。
一番初めに「X座標を~」のブロックを使っているのは、ネコさんをスタートの位置に移動させてあげています。それと歩いているように見えるよう、次のコスチュームに変更して、歩くアニメーションを付けてみました。
さて、「イベント」のブロックと「調べる」のブロックに、同じようなブロックがなぜあるのかなって思いませんでした?
こんな感じで使い分けがあるんですね。
さて、イヌさんはスペースキーではなく、右向き矢印を押したときに前に進むようにプログラムを作って、完成した作品がこちら。
https://scratch.mit.edu/projects/290717294/
子ども達が大好きな対戦ゲーム。
単純なゲームほど盛り上がりますよね。
ぜひおうちでも一緒に作って、対戦して盛り上がってください!
今回はここまで。では、また!
無料体験授業実施中!
毎週火曜日 16:00~17:30、17:40~19:10
毎週木曜日 16:00~17:30、17:40~19:10
毎週土曜日 10:00~11:30、11:40~13:10
※日曜日も臨時で実施していることがあります
お気軽にお問い合わせください
お申し込み・お問い合わせは、こちら。
お電話でも受け付けております。
03-6806-6861
(平日10:00~18:00)
イフキッズLINE@お友だち募集中!
新着授業レポートの通知、無料説明会やイベントの案内など、
耳よりな情報を配信中です。
加えて、お友だち登録されている方には、
イベント参加費の割引、
入会の際の割引、プレゼントなどの特典も!