2019年10月10日SHAREツイートシェアはてブLINEPocketKIDSPROピッチャー(コンピューター)と対戦し、ホームランの本数を競うゲームをScratch(スクラッチ)でプログラミングしました。KIDSPROブログニュース「スキャニメーション」でも説明しましたが、人間の目は、見えない部分を予測して補います。漫画で漫画が動いて見えるのは、この人間の目の現象を利用しています。今回のプログラミングでもこの現象を利用しています。KIDSPROバッターのスイングバッターがバットをスイングするプログラミングでは、上図のような「スイング前」→「スイング中」→「スイング後」の3つのコスチュームを用意します。次に、上図左のスペースキー押下をトリガーとしたスクリプトにより、この3つのコスチュームを順次切り替えて表示させると、人間の目にはバッターがバットを振っているように見えます。コスチュームの数を増やすと、よりスムーズにスイングしているように見えますが、野球を見たことがある人なら、スイング前とスイング後の2枚だけでもバッターがスイングしているように見えると思います。ピッチャーの投球ピッチャーの投球についても、「投球前」→「2投球中」→「3投球後」の3つのコスチュームを用意し、順次コスチュームを切り替えて表示させるスクリプトにより、ピッチャーがボールを投げる動きを実現しました。文章KIDSPRO上図はボールのスクリプトです。6)を乱数によりランダムに決定し、「投げる」というカスタムブロックを実行します。カーブボールはストレイトボールよりも25%だけ遅いスピードに設定しています。「投げる」カスタムブロックでは、上段の部分でホームラン判定を行っています。)色に触れたなら」ブロックに深緑色を設定します。これにより、バッターがスイング中コスチュームの時に、バットの深緑色部分がボールに触れたか判定出来るようになります。STEP.3ボールを打ち返すSTEP.2の判定が正の時に、ボールの移動方向や角度を変えるスクリプトを作れば、バッターがボールを打ち返し、ボールがホームランの軌道を描くような動きにすることが出来ます。ボールのアルゴリズム2「投球のスクリプト」では、ボールを回転させながら、x座標とy座標をカスタムブロックの引数「スピード」値の割合に応じてマイナス方向に移動させ、ボールをステージ右上(ピッチャー投球中の手の部分)から左下に移動させています。カスタムブロックの引数「球種」=0(ストレート)の時は、ボールは真っすぐ移動し、引数「球種」=1(カーブ)の時は、x座標が100よりも小さくなったらy座標の変化値を1.8倍にしてy座標の変化幅を大きくして、ボールがカーブの軌道を描くようにプログラミングしました。ボールのアルゴリズム3「ボール判定スクリプト」では、「球種」=0(ストレート)の場合はバッターがスイングしていなくてもストライク判定、「球種」=1(カーブ)の場合はバッターがスイングしていなければボール判定するようにプログラミングしました。スイング判定は、上図左側に記載しているバッターのスクリプトで実現しています。micro:bit、レゴWeDo、レゴBOOST、ScratchJr、Viscuit、Pepperやマインクラフトを使ったプログラミング、3DプリンターやYouTuber講座やアンガーマネジメントKIDS講座などを追加料金なしで学べます。