スクラッチコーチキャンプ スクラッチで使える無料素材集
  • 素材
  • 修行
  • はじめての方へ
  • スクラッチゲームの作り方

    #018 足し算プログラムの作り方|魔法使いで変数と演算ブロックを学ぼう

    #018 足し算プログラムの作り方|魔法使いで変数と演算ブロックを学ぼう
    この記事は スクラッチコーチで掲載されているオリジナル記事 のバックアップです。
    スターター作品
    なし
    今回の完成サンプル
    なし
    [soy-series name="はじめてのスクラッチ"]

    さぁ、スクラッチでナニ作る!?

    動画で見てみよう

    [talk]チャンネル登録して応援よろしく!チャンネル登録する[/talk]

    チュートリアルの元になった作品

    [prj-embed prj="1315325375" mini="1" title="プレイしておこう" prj-title="sb3_20260504095939" prj-author="ok-scratch"]今回の[prj-link prj="1315325375" title="sb3_20260504095939" author="ok-scratch"]スクラッチを作る参考作品[/prj-link]です。魔法使いが2つの数を聞いて、クルクル回転しながら「今まさに計算中」って演出したあと、マジックみたいに答えをどーん!と出してくれるのがヤバい。変数に入力を保存するロジックも、演算ブロックで足し算する仕組みも、全部「魔法使いが計算してる」という演出として自然に見えてくる。コードとキャラが一体化した設計の作り方、見ていこう。参考資料:スクラッチプログラミング事例大全集[/prj-embed]

    今回の目標

    ユーザーから2つの数を入力してもらい、足し算の結果を魔法使いが演出つきで発表するプログラムを作るよ。

    スターター作品をリミックスしよう

    このチュートリアルにはスターター作品があります。使わなくても大丈夫だけど、最低限の素材などが用意されてるので便利です。
    スターター作品をダウンロード

    #1ウィザードの初期設定

    [talk class="m-l-n"]今回はウィザードが主役で、ユーザーが入力した2つの数を足し算する「魔法プログラム」を作っていくよ。[/talk]

    準備

    スプライト「ウィザード」を開く

    ウィザードウィザード
    スプライトについて
    ユーザーから2つの数を入力してもらい、足し算の結果を魔法として発表する魔法使いスプライト。コスチュームを切り替えながらアニメーションする。
    どんな役割か
    魔法使いが2つの数を聞いてきて、その合計を魔法みたいに発表してくれるよ!数字を入れたら、ぐるぐる回転してコスチュームも変わってかっこよく答えを教えてくれるんだ。

    実装

    step-0

    まずイベントgreenflag が押されたときで始めて、ウィザードの見た目と位置を初期化しよう。見た目大きさを ( ) %にするで80%にしているのは、デフォルトだとステージに対してちょっと大きいから。回転方法を「左右のみ」にしておけば、後の回転アニメーションでウィザードが逆さまにならずに済むんだ。

    確認プレビューしておこうという口コミを寄せてくれた方 確認プレビューしておこう
    旗を押すと、ウィザードが画面の真ん中にセットされたね。

    #2数の入力と変数への保存

    [talk class="m-l-n"]ウィザードにセリフを言わせたあと、ユーザーから2つの数を聞き取って変数に保存するよ。ここが今回のメインの仕組み。[/talk]

    準備

    変数「魔法の数1」を追加

    ユーザーが最初に入力した魔法の数。足し算の1つ目の値として使用される

    変数「魔法の数1」を追加

    変数「魔法の数2」を追加

    ユーザーが2番目に入力した魔法の数。足し算の2つ目の値として使用される

    変数「魔法の数2」を追加

    実装

    step-1

    ユーザーに質問するときは調べる( ) と聞いて待つを使うよ。入力された値は「答え」に一時的に入るんだけど、次の質問で上書きされちゃうから、すかさず変数( ) を ( ) にするで「魔法の数1」「魔法の数2」にそれぞれ保存しておくのがポイント。

    [talk]スクラッチの「答え」って、最後に聞いた入力しか覚えてないんだよね。つまり2回聞いたら1回目の答えは消えちゃう。変数は「名前をつけた保存箱」みたいなもので、自分で上書きしない限り中身が残り続けるから、聞いたらすぐ変数にコピーが鉄則なんだ。[/talk]

    確認プレビューしておこうという口コミを寄せてくれた方 確認プレビューしておこう
    ウィザードが2つの数を聞いてきて、入力した値が変数「魔法の数1」と「魔法の数2」に保存される仕組みだよ。

    #3魔法の回転アニメーション

    [talk class="m-l-n"]2つの数を受け取ったら、ウィザードが回転しながらコスチュームを切り替えて「計算中」の魔法演出をするよ。[/talk] step-2

    制御( ) 回繰り返すで10回繰り返す中で、60度ずつ右回転しながらコスチュームも次々変わっていくんだ。制御( ) 秒待つを0.1秒入れることで、アニメーションが一瞬で終わらず目で追えるようにしているよ。

    アニメーションが終わったら動き( ) 度に向けるで向きを90度にリセットしよう。これがないと、次に旗を押したときウィザードが変な方向を向いたままスタートしちゃうからね。

    [talk]ここの制御( ) 秒待つの0.1秒を変えるだけで、アニメーションの速度が変わるよ。0.05秒にすれば倍速で回るし、0.2秒にすればゆっくり魔法をかける感じになる。繰り返し回数と待ち時間の組み合わせで印象がガラッと変わるから、いろいろ試してみると面白いよ。[/talk]

    確認プレビューしておこうという口コミを寄せてくれた方 確認プレビューしておこう
    入力が終わると、ウィザードがぐるぐる回転してコスチュームも切り替わるアニメーションが再生されたね。

    #4計算結果の発表

    [talk class="m-l-n"]魔法の演出が終わったら、いよいよ足し算の答えを出すんだ。ここで演算ブロックの出番だね。[/talk] step-3

    コスチュームをWizard-cに切り替えたら、演算( ) + ( )で「魔法の数1」と「魔法の数2」を足し算するよ。さらに演算( ) と ( )で計算結果と「が完成したぞよ」をくっつけて、ウィザードに言わせるんだ。

    演算ブロックの中に演算ブロックを入れることで、計算と文字の結合を一発で表現できるのがスクラッチの面白いところ。次回もスクラッチの機能をどんどん使って、プログラミングの幅を広げていこう!

    確認プレビューしておこうという口コミを寄せてくれた方 確認プレビューしておこう
    回転が止まって、ウィザードがコスチュームを変えて足し算の結果を発表してくれたね。

    まとめ

    これで魔法使いの足し算プログラム完成!変数を使って入力を保存しておく仕組み、意外とシンプルだったよね。「聞いて待つ」→変数に保存→演算→joinで表示という流れは、他のプログラムでも超使えるパターンだから覚えておいて。次回もスクラッチの新しい機能を使っていくから楽しみにしてね!

    ブクマよろしくお願いします!という口コミを寄せてくれた方 ブクマよろしくお願いします!
    どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!