マウスの操作練習~スクラッチ(Scratch)で作ってみた~

マウスの操作練習用を、スラッチ(Scratch)で作ってみました。
ひと昔まえのバージョンですが、新バージョンでも同じようにできます。

岡山市のパソコン・プログラミング教室 30分でできる?プログラミング例

少し古いバージョンで作成したので、スクラッチのブロックの形が違っています。

で、、最近コメント頂いて、「この通りに作ったのに、動かない」って、言われたので、バージョンアップさせてみました。

動かないような仕組みではないのですが・・・
簡単なロジックですので、パラメータ(変数)の値とか?判定式とか?違っているのかな?っと思います。

マネするだけでなく、手順(流れ)を考えて頂ければよいかと思います。
そうすることで、間違えている箇所(このプログラミングの中にもあります)が解ることでしょう。😿

動きは?

一定間隔で、ボールを表示させ、マウスでクリックできれば、ポイントを加算していきます。
表示する間隔は、数回繰り返す毎に、早くなっていきます。

どこに表示されるか?毎回違ってきますので、マウスを素早く動かせ、クリックできるか?の練習になるのかな?

スクラッチといったプログラミング言語の練習用に、、、変数をいっぱい使いますので、どの変数が何の目的で使われているのか?理解しながら、作ってみて下さい。

動画にコメントを頂きましたので、少しだけ解説も加えながら、こちらのページで公開してみます。

プログラミング例では、ボールの色(コスチュームの数)で終わりを設けていますが、一定時間経過で終了する仕組みも可能です。(変数:タイマーを使用)

変数の定義と初期値

変数名内容
POINTクリックされたら1ポイント加算される
カウント同じ色、タイミング(時間の間隔)で出す回数
スピード表示させる間隔
タイマー時間制限を設ける時用(プログラミング例では使っていない)
表示カウント同じタイミングで表示する回数
表示タイマーボールを表示させる時間経過用
表示間隔ボールを表示させる時間
表示中表示しているか?
随分前に作ったので、既に忘れております・・・

変数の値を変えると、難易度が変わって、いろいろ改良できるようにしたつもりです。

岡山市北区のプログラミング教室 Scratch でマウスの操作練習プログラミング例1
岡山市北区のプログラミング教室 Scratch でマウスの操作練習プログラミング例1 変数の定義と初期値

メイン処理のプログラム

「タイマーを0.1ずつ変える」、このブロックは、このプログラム(ロジック)では、無意味です。
なくても動きます。

最後の判定を「コスチュームの番号」とした為で、時間制限を設ける設定に使えるので、残しています。(終了判定を変えた時の残骸です)

岡山市北区のプログラミング教室 Scratch でマウスの操作練習プログラミング例2
岡山市北区のプログラミング教室 Scratch でマウスの操作練習プログラミング例 メインの処理

動画では、終わりが解りにくいので、追加しています。その箇所と乱数の位置決め箇所以外は、動画と同じです。

クリック時の、スピードアップ、表示処理

クリック時のプログラム

POINTを加算し、表示を隠します

スピードアップ

表示する間隔を短くするモジュール(関数)です。スクラッチでは、「ブロック」と表現されています。

無理に「ブロック」を作る必要もなかったのですが、解りやすくする為と、「メイン処理」が長くなるので、抜き出しました。

スクラッチの「ブロック」は、関数と呼ばれます。エクセルにも関数ってありますよね?
同じ扱いとなります。

表示する

ボールを表示させる処理です。

「どこかの場所へ行く」でもできますし、XY座標の値(表示位置)を乱数を使って決めてもよいです。
どちらも同じ処理になります。

処理の順番としては、場所移動した後に、「表示」とするのがよいでしょう。反対になっても変わりませんが・・・

マネして作っても動かない場合は、変数の値、判定式を見直して下さい。

動かない仕組みではないかと思います。最初にボールが表示されるまで、数秒ほどかかるので、動かないと思われるかも知れませんが・・・

事例も多いので、参考書的な本⇒スクラッチプログラミング事例大全集

マネして作るだけではなく、ロジックの理解、変数の使い方など、自分なりに考えて作っていくと、より理解できることでしょう。

「何で?」「どうして?」こんな変数使っているの?とか

「このタイミング」「この条件」って何なんだろ?っと、何で?っと興味を持って理解しながら、マネして下さい。

「本の通りに作るだけ?」ならば、それは、プログラミングではなく、正確にマネをするだけになります。

お問い合わせ

TEL:086-206-5592

WEB:WEBから

タイトルとURLをコピーしました