ブックタイトル高等学校情報 Scratchとドリトルではじめるプログラミング

ページ
30/36

このページは 高等学校情報 Scratchとドリトルではじめるプログラミング の電子ブックに掲載されている30ページの概要です。
10秒後に電子ブックの対象ページへ移動します。
「ブックを開く」ボタンをクリックすると今すぐブックを開きます。

ActiBookアプリアイコンActiBookアプリをダウンロード(無償)

  • Available on the Appstore
  • Available on the Google play

概要

高等学校情報 Scratchとドリトルではじめるプログラミング

28 ゲームをつくろう② ?ボタンや条件分岐の利用? 29S c r a t c h ドリトル完成例ステップ6 パドルを操作するボタンを追加する(①のプログラムに続けて書く)// パドルを操作する左ボタン=ボタン!"左" "LEFT" 作る。 ?6左ボタン:動作=「パドル!?40 0 移動する。」。 ?7右ボタン=ボタン!"右" "RIGHT" 作る。右ボタン:動作=「パドル!40 0 移動する。」。?6 「左ボタン」という名前でボタンオブジェクトをつくる。ボタンの表示は「左」にする。?「7 左」をクリックしたときに、「パドル」を左へ移動。?「8 右ボタン」をつくり、ボタンの表示を「右」にする。クリックしたときに「パドル」を右へ移動。TIPS "LEFT"や"RIGHT"は、画面上のボタンだけでなく、左右の矢印キーでも操作できるようにするために指定します。また、左の吹き出しのように、作成したボタンオブジェクトには、ボタンをクリックしたときに実行する命令を設定できます。【確認】画面左上に「左」「右」というボタンが表示されます。ボタンや矢印キーでパドルが移動することを確認しましょう。ボタンが壁に重なる場合は、画面を大きくして実行し直します。ゲームをつくろう②ボタンや条件分岐の利用「ゲームをつくろう①」のプログラムを改良します。パドルを操作するボタンを追加し、得点を数える機能と勝敗を判定する機能を加えて、ブロックくずしゲームを完成させます。Themedolittle6プログラム// タートルをつくるボール=タートル!作る ペンなし。ボール!45 向き 0 ?100 位置。ここにp.26の「ゲームをつくろう①」の4行目から「// 衝突の定義」の手前までのプログラムが入ります。// 衝突の定義得点=フィールド!0 作る。ボール:衝突=タートル:跳ね返る。ブロック:衝突=「自分!消える。得点!10 増やす。」。床:衝突=「|相手|相手!消える。時計!中断。」。// パドルを操作する左ボタン=ボタン!"左" "LEFT" 作る。左ボタン:動作=「パドル!?40 0 移動する。」。右ボタン=ボタン!"右" "RIGHT" 作る。右ボタン:動作=「パドル!40 0 移動する。」。// 勝敗の判定時計!待つ。「(得点!読む)>=40」!なら「 ラベル!"ゲームクリア" 作る。」そうでなければ「 ラベル!"ゲームオーバー" 作る。」実行。これでブロックくずしゲームは完成です。ここではシンプルなプログラムにすることを重視しましたが、「乱数」や「配列」などを学ぶと、ボールの開始位置をランダムにしたり、ブロックをまとめて扱ったりすることができます。ゲームとしての完成度を高めることにも挑戦してみましょう。今後はぜひ、オリジナルのゲームやアニメーションを考えてプログラムで表現してみてください。● やってみよう1. p.18、19のテーマ1で作成した「宝物拾いゲーム」で、宝物を拾うときに得点を数えて、すべての宝物を拾ったらゲームを終了するようにプログラムを変更してみよう。GOAL!ステップ9 勝敗を判定する(ステップ6のプログラムに続けて書く)// 勝敗の判定時計!待つ。 ?3「(得点!読む)>=40」!なら「 ラベル!"ゲームクリア" 作る。」そうでなければ「 ラベル!"ゲームオーバー" 作る。」実行。?「3 時計」の実行が終わってから(またはステップ8の?2が実行されたら)以降のプログラムに進む。?4 得点が40点以上の場合(すべてのブロックを消した場合)は「ゲームクリア」、40点未満の場合は「ゲームオーバー」と画面に表示する。ステップ8 衝突の定義を変更して得点を数える(①のステップ4のプログラムを変更する)// 衝突の定義得点=フィールド!0 作る。  ?0ボール:衝突=タートル:跳ね返る。ブロック:衝突=「自分!消える。得点!10 増やす。」。?1床:衝突=「|相手|相手!消える。時計!中断。」。?2?「0 得点」という名前でフィールドオブジェクトをつくり、最初の値として0を設定する。?1 「ブロック」を消すときに得点を10点増やす。?「2 床」にボールが衝突したら「時計」を止める。TIPS フィールドは、数値や文字を入力・表示できるオブジェクトです。得点の表示や時間のカウントダウン表示などに利用できます。?2の変更はまだプログラムの見た目に影響しませんが、次のステップで利用します。【確認】画面左上に得点が表示され、ボールをブロックに当てることで得点が増えるようになります。次に、この得点を読み取って勝敗を判定します。?8?4《ボタンの動作定義の基本形》 ボタンオブジェクト:動作=「クリックしたときに実行する命令」。ステップ7 ボールの向きを変更する(①のステップ1の?を変更する)ボール!90 向き 0 ?100 位置。ボール!45 向き 0 ?100 位置。?「9 ボール」の向きを45度に変更する。【確認】実行すると、ボタンや矢印キーでパドルを操作して遊べます。次はブロックを消すときに得点を数えます。?9TIPS 「待つ」命令はタイマーオブジェクトの実行の終了を待ちます。?3の命令がないと、「時計」を実行している間に?4の処理が実行されてしまいます。?4は、条件によって異なる処理を行う「条件分岐」を利用しています。ここでは「得点が40点以上か」という条件によって、「ラベル」をつくる命令で画面に表示する文字(""で囲まれた部分)を変更します。《条件分岐の基本形》 「条件式」!なら「  条件が成り立つ場合の処理 」そうでなければ「  条件が成り立たない場合の処理 」実行。得点左ボタン右ボタン