Excelで、回り続けるスロットをボタン押下で止めるために、無限ループの中にDoEventsを書きました。

スロットマシンをJavaで作る際にはRunnableをimplementsし、Threadのstart()でループを回しました。

さてさて、scratchです。

よくマリオなんかである、上矢印キーでジャンプし、だんだん降りてくる動きありますよね。

試しにこんなブロックを作ってみます。

ジャンプしてだんだん降りてきます。

しかし、降りている途中でもう一度上向き矢印キー押しても反応しません。それはそうですよね。繰り返しが行われていて、イベントは終了していないのですから。

で、こんなふうに変えてみます。

上向き矢印キーの押下イベントは、キャットを上げたら、メッセージを放って終わります。

メッセージを受け取ったという別のイベントは、少しずつキャットを下げて行きます。これは別のイベントなので、また矢印キーを押すと、キャットは更に上がります。

これで横の動きも混ぜると、もうマリオっぽい動きになります。

いや、ほんとにscratchってプログラミングのエッセンス詰まってるんですねー。驚き。

RunnableとかThreadとかいうとなんか敷居高いですけど、要するにscratchのメッセージじゃね?っつう理解にすると敷居下がりません?

ちなみに、Javaで作ったスロットマシン、塾生にやらせたら一発で777揃えられてしまいました。自分でテストしたときは揃えられなかったんだけどなー。

名前は「押忍!店長」です(笑)