タッチセンサーを使ったゲーム
これまでタッチセンサーでいろいろ作ってみたけどこれでゲームを作った人がいた。
ここにあります
へぇ、すごいなぁ、と感心しました。
アイディアで色々出来るんですね。アイディアは大事です。
タッチセンサーのようなものはマイクロビットの外部入力といいます
距離センサーをつなげば、距離が分かるけど、これも外部入力
マイクロビットには外から色々つなげます。
入力があればシュル直がある
マイクロビットでモーターを動かすのは出力です。
外部入力と外部出力が色々分かってくると、いろいろなロボットが出来るんでしょうね・・・・
ということで、今回はゲーム
準備
マイクロビットにワニ口クリップを4本つなぎます。P0,P1,P2とGNDにクリップをつなぎます。
色は何色でもかまいません、電気が通れば良いのですが、この通りにすると分かりやすいです。
そしてクリップの先には何か金属をつなぎます。ここではアルミホイルをたたんでつけました。
クリップやアルミホイルここにさわると、とっても弱い電気が流れ、マイクロビットがその電気を感知(かんち)します。

プログラム
まず、タッチセンサーを四つ作ってみましょう。
これで、GNDの(黒い)線の金属部分(アルミ)をおさえながら、他の線の金属部分(アルミ)を押すと、音が流れます。
こうやって、押されて線によってプログラムは分岐(ぶんき)していきます。
もっと簡単に
でも、マイクロビットは別の方法があります。上の分岐を、マイクロビットでやってくれる方法があるのです
上のプログラムを、下のように書き換えます。
これで、二つの方法があることを覚えましょう。

これで同じように出来ます。
どちらでも出来ますが、今回はこれでやってみましょう。
では最初に
プログラムは上の三つのタップから1つだけを正解にします。正解をタップできると得点が入ります。
間違えると何もしない(間違えたような音楽が流れます)
これを三回繰り返して、何回、正解が当たるかを競(きそ)ううゲームです。
まず変数を2つ作ります
カウンター
と
スコア
と
問題数字
です。
です、カウンターは、押された回数を数えます
そして三回になったらこれで終了(しゅうりょう)。次(つぎ)に進まないようにします。
スコアは当たった回数を数えます。
三回やって三回当たれば、最高得点です。
問題数字は
どれを当たりにするかを覚えておいて、当たりかどうか判定するときに使います。
ではプログラムです
ではまず最初にするのは、変数を定めることです。カウンターは、まず0回目で0です。プログラムは〇から始めることが多いのです。
それからスコアも最初は0点です。
おや、【呼び出し「次の問題」】というのがありますね。
これを関数(かんすう)と言います。
タップ当てを三回繰り返すのですから、三回問題を出さないと行けません。
同じことを何回も書くのは大変
そこで一回書いておいて何回も使えるように、別の所へ書いておくのが関数です。

関数の作り方は

高さのあるブロックをおして、
すると変数が出てきますので、変数を押します。
すると下のようになります。
ここで関数を作成する を押します。

するとこんなのが出ますので

名前をつけて、完了をおすと、関数が出来ます。
次の問題関数を作ろう
次の問題関数はこんなプログラムです。
何番目のタップを正解にするかを0から2までの[乱数(らんすう]で作製しています。
作っているような漢字がするように、画像が変わっていきます。
次に正誤判定するプログラム
もう一つ関数を作ります名前は【正誤処理(せいごしょり)】です。
今度は、論理値というところにチェックを入れて作ります。

中身はこんな感じ
呼び出すと回数を記録するカウンターを1増やし
真偽値といって、正解か不正解かをわたすと正解のときはスコアを増やし音楽を流し
不正解のときは音楽だけ流します。
タッチ回数が三回をこえると、スコアを表示します。

つぎに どれがタップされたかを調べるプログラム
これで、正解か不正解かを【正誤判定】の関数に渡します。
プログラムはここにあります
https://makecode.microbit.org/S14078-96631-24745-02528
全部のプログラムは




もどる