スロット(2)

画面タッチでスロットスタート。
2秒で止まって判定します。

「スロット」の授業をお休みしたので、そのときのプリントを先生がくださいました。・・ら、動画で見た書き方と全然違うじゃないですか(^○^)

こちらは「時計を作る」のときにも使ったsetIntervalを使ってスロットを回転させて、何秒後かに一回だけ実行されるというsetTimeoutの中でsetIntarvalを止めるclearIntervalを使って、3秒後にスロットを止めて当たりかどうかを判定する、というやり方でした。回転中にクリックするとおかしくなるので、回転中はタッチできないようにしました。ハズレのときの音もつけていましたが、繰り返すとどうしてもエラーになってしまうので外しました。

スロット(2)のソースコード

スロット

この時の授業はお休みしたので動画を見ながらなぞって作ったものです。

息子がかわいらしい音をつけるところまで作ったので、そこから少し改良してボタンでスタート・ストップ、揃ったらクリア画面が出て、またボタンを押すと回せるようにしました。ゲームは何度も繰り返して遊びたいのです!これも当たったら終わりでも良かったのですが、また回せるように改良しようとしたら意外に難しくて苦労しました。この「何度も遊べるようにする」ところでいつも苦労しますね。

スロットのソースコード

コメント以外で//消してあるところは、試行錯誤の時にうまくいかなかったものです。消してしまうとまた同じ間違いを書いてしまうので、これは出来なかったよということがわかるように残してあります。すぐ忘れてしまうので・・。こうして作ったものも、どうやったのか1ヶ月もすると忘れてしまっているので、こうして記録しています。

・改良したところ

ボタンを設置

場合分けをするためにcounterを作って、ハズレが出ても当たりが出ても再度スロットを回せるようにしました。当たりが出ると背景が変わり文字がでるので、再度回し始めるときに文字を消して背景を戻すために工夫が必要でした。

0:最初かハズレの判定が出た時(ボタンを押してスロットルをスタートすることができる) 
1:スロットが回っている間(ボタンを押してもスロットはスタートできない)
2:当たりの判定が出たとき(再度ボタンを押すと背景が戻り、スロットが回る)

として動作を制御しました。

一つのボタンでやろうとするとこのように面倒なことになります。