問題1:反応するキャラクター
緑の旗でキャラクターを中央に置き、スペースキーを押したらジャンプするアニメーションを作ってください。
ヒントy座標を上げ、少し待ち、y座標を下げます。座標の変化量を変数にすると、ジャンプ力を改造できます。
解答例
ブロック例SCRATCH
[緑の旗が押されたとき]
[x座標を 0 にする]
[y座標を -120 にする]
[スペースキーが押されたとき]
[y座標を 80 ずつ変える]
[0.2 秒待つ]
[y座標を -80 ずつ変える]スペースキーを押すと上へ動き、0.2秒後に下へ戻ります。連続ジャンプを防ぐには、地面に触れているかを変数などで管理します。
発展連続ジャンプを防ぐため、「地面に触れたときだけジャンプできる」条件を追加します。
問題2:10秒スコアアタック
左右キーで動くプレイヤーと星を用意し、10秒間で取った星の数を表示してください。星は取られるか画面外へ出たら別の位置に戻します。
使うもの得点、残り時間の変数、ずっと、もし、触れた、メッセージ。初期化を旗の処理にまとめることがポイントです。
解答例
ブロック例SCRATCH
ステージ:
[緑の旗が押されたとき]
[得点を 0 にする]
[残り時間を 10 にする]
[ずっと]
[1 秒待つ]
[残り時間を -1 ずつ変える]
[もし 残り時間 = 0 なら]
[ゲーム終了を送る]プレイヤーと星のスクリプトは「ゲーム終了を受け取ったとき」に停止させます。星を取ったら得点を増やし、y座標を下端へ移動して次の星を出します。
問題3:リスト占い
リストに5つ以上のメッセージを登録し、ボタンを押すたびにランダムな一つを表示してください。空のリストで実行した場合も、エラーにならない説明を表示します。
発展結果を履歴リストへ追加し、同じ結果が連続した回数を数えてみましょう。
解答例
ブロック例SCRATCH
[緑の旗が押されたとき]
[結果リストのすべてを削除する]
[質問リストに「今日は晴れ」を追加する]
[質問リストに「今日はくもり」を追加する]
[質問リストに「今日は雨」を追加する]
[質問リストに「今日は休み」を追加する]
[質問リストに「今日は読書」を追加する]
[ボタンが押されたとき]
[もし リストの長さ > 0 なら]
[質問リストの (1 から リストの長さ までの乱数) 番目を言う]
でなければ
[「まだ結果がありません」と 2 秒言う]旗で5件を登録してから、ボタンを押したときに1件を選びます。空のリストでも「もし」で分けるため、存在しない項目を読みません。
提出前チェック
- 旗を押したとき、前回の得点や時間が残っていない
- キーを押していないときに勝手に移動しない
- 画面の端や時間切れでも作品が止まらない
- スプライトの役割と変数の名前が説明できる
- 他の人が読む操作説明を書いている
完成したら、数値やコスチュームを変える改造を一つ加え、変更前と変更後の違いを説明してください。作る、試す、直す、説明するまでが作品制作です。