この記事では、マイクロビットでカウント100ゲームのプログラムの作り方を紹介します。
マイクロビットの基本的な使い方や機能は分かったけれど
- 次に何を作っていいのか分からない
- 複雑なゲームを作るのはハードルが高い
- みんなでワイワイ遊べるものが作りたい
という人におすすめの作品です。
定番の遊びをプログラミングの力で、さらにおもしろくしましょう!
プログラムはとても簡単!初心者さんでも分かりやすいように解説しますよ。
Makecodeの乱数や関数の使い方も分かります。
ルール
カウント100は、2人以上で行うゲームです。
「NOT100」や「100を言ってはいけないゲーム」とも言われています。
ルールは、下のとおりです。
- プレイヤーは順番に1から100まで数える
- 1度に数えられるのは3つまで
- 最後に100と言ったプレイヤーが負け!
用意するもの
- マイクロビット本体
- 電池ボックス
1コずつあればOKです。
プログラミングは、MakeCodeエディターを使います。
MakeCodeエディター基本的な使い方は、下の記事にまとめています。
一番シンプルなプログラム
Aボタンをおしたとき、現在の数をカウントして、100以上になったらゲームオーバーになるプログラムです。
Bボタンをおしたときに、現在の数を確認できるようにしました。
最初だけ
現在の数を覚えておく変数「count」を作り、最初に0を設定(初期化)します。
1.変数→変数を追加するを選んで、変数「count」を作る
2.「最初だけ」の中に「変数(count)を 0 にする」を入れる
変数とは、データを一時的に覚えておくための入れ物です。下の記事でくわしく解説しているので、変数をはじめて使う人は読んでみてくださいね。
ボタンAが押されたとき
Aボタンをおしたとき、現在の数(count)を1増やします。また、ボタンをおしたことが分かるように音を鳴らしましょう。
1.「ボタンAが押されたとき」の中に「変数(count)を 1 だけ増やす」を入れる
2.「鳴らす 音を鳴らす 高さ(Hz)(上のファ)長さ(1/2拍) 終わるまで」を入れる
現在の数(count)が100以上だったら負けにします。
3.「もし<真>なら」を出し、真の部分に条件「(count)(≧)(100)」を入れる
4.「もし count ≧ 100 なら」の中に、ゲームオーバーになった時の処理を入れる
ゲームオーバーになった時の処理の例:
「アイコンを表示(がいこつ)」
「鳴らす(パワーダウン) バックグラウンドで一度だけ」
ボタンBが押されたとき
Bボタンをおしたときに、現在の数(count)を表示します。
1.「ボタンBが押されたとき」の中に「数を表示(count)」を入れる
2.「表示を消す」を下に追加する
もっとよくしよう!
一番シンプルなプログラムだけで十分遊べますが、もっとゲームを面白くしたり、ズルやまちがいがおこらないような工夫を考えてみましょう!
例を3つ紹介します。
現在の数が分からないようにする
本来はボタンを3回おしたら「1、2、3」とおした回数だけ数を数えますが、ウソをつくことができるルールを足してみました。
たとえば、ボタンを1回しかおしていないのに「4、5」と2つ数えたり、ボタンを3回おしたのに「6」と1つしか数えなかったり、ウソがつけます。
いつ100を超えるのか分からないハラハラと、ウソをつく・つかないのかけひきが生まれますよ。
プログラムは下の画像のとおりです。
Bボタンがおされたときの処理を消して、現在の数を確認できないようにします。
また、Aボタンをおしたときの音を消して、何回ボタンをおしたか相手に分からないようにしましょう。
だいたいの数が分かるように、棒グラフを表示しました。
- 「もし count ≧ 100 なら」の+をクリックして「でなければ」を追加する
- 「でなければ」の下に「棒グラフを表示する 値:count 最大値:100」を入れる
一度に3回までしかカウントできないようにする
まちがえてAボタンを4回以上おせないようにしてみました。
自分のターンになったときにBボタンをおしてから、Aボタンをおすようにします。
プログラムは下の画像のとおりです。
最初だけ
Aボタンをおした回数を覚えておく変数「count3」を作り、最初に0を設定(初期化)します。
- 変数→変数を追加するを選んで、変数「count3」を作る
- 「最初だけ」の中に「変数(count3)を 0 にする」を入れる
ボタンAが押されたとき
Aボタンをおした回数(count3)が3以上だったら、現在の数(count)を増やせないようにします。
- 「もし<真>なら/でなければ」を出し、真の部分に条件「(count3)(<)(3)」を入れる
- 「もし count3 < 3 なら」の中に、今までの処理を入れる
- 「変数(count)を 1 だけ増やす」を追加する
- 「でなければ」の中に「鳴らす 音を鳴らす 高さ(Hz)(下のド)長さ(1/2拍) 終わるまで」を入れる
ボタンBが押されたとき
Bボタンをおしたときに、Aボタンをおした回数(count3)をリセットします。
- 「変数(count3)を 0 にする」を追加する
- 「鳴らす(ハッピー)終わるまで」を追加する
おじゃまキャラが出現
実はこのゲームには必勝法があります(興味がある人は調べてみてくださいね)
いつも勝ててしまうのは面白くないので、時々おじゃまキャラが出現して現在の数を勝手に増やしてしまうようにしました。
一度に3回までしかカウントできないようにするプログラムに処理を追加します。
プログラムは下の画像の通りです。
ボタンBが押されたとき
ランダムなタイミングでおじゃまキャラが出現させます。
- 「もし<真>なら/でなければ」を出し、真の部分に条件「( 0 から 4 までの乱数)(=)(4)」を入れる
- 「でなければ」の中に「数を表示(count)」と「表示を消す」を入れる
- 「変数(count3)を 0 にする」と「鳴らす(ハッピー)終わるまで」を「もし 0から4までの乱数 = 4 なら」の下に配置する
「0~4までの乱数」の結果が4だった場合、おじゃまキャラを出現させます。4以外だった場合は、現在の数を表示します。
乱数とは、ある範囲の数値から、ランダムに取り出した数値のこと。ランダムは、きまりがなくデタラメということです。
条件が「0から4までの乱数 = 4」場合、5種類の数字(0、1、2、3、4)のうちのひとつが当てはまるので、確率は5分の1です。
今回は5分の1の確率にしていますが、自分の好きな確率に調整してみてくださいね。
おじゃまキャラの関数
おじゃまキャラが出現した時の処理を作りましょう。プログラムの内容を分かりやすくするために関数にしました。
関数とは、命令のまとまりのこと。何度も使う処理があったら、それを関数にすると便利です。
下の記事でくわしく解説しているので、関数をはじめて使う人は読んでみてくださいね。
関数「Nuisance(やっかいもの)」を作り、ボタンBが押されたときの処理の中で呼び出します。
1.高度なブロック → 関数 → 関数を作成する を選んで関数「Nuisance」を作成する
2.ボタンBが押されたときの「もし 0から4までの乱数 = 4 なら」の中に「呼び出し Nuisance」を入れる
おじゃまキャラの出現で100を超えてしまわないように、95以上になったら出てこないようにします。
3.「もし<真>なら」を出し、真の部分に条件「(count)(<)(95)」を入れる
4.「アイコンを表示(すばらしい)」を追加する
5.「鳴らす(くすくす笑う)終わるまで」を追加する
変数「random」を作って1~3のランダムな数を保存します。
6.変数→変数を追加するを選んで変数「random」を作る
7.「変数(random)を( 1 から 3 までの乱数)にする」を追加する
現在の数 + 変数random = 足した後の数 を表示します。
8.「数を表示(count)」を追加する
9.「文字列を表示(“+”)」を追加する
10.「数を表示(random)」を追加する
11.「文字列を表示(“=”)」を追加する
12.「変数(count)を (random) だけ増やす」を追加する
13.「数を表示(count)」を追加する
14.「表示を消す」を追加する
まとめ
以上、「カウント100ゲーム」のプログラムを紹介しました。
今回紹介した例以外にも、新しいルールや便利な機能を追加して、もっとゲームを面白くしてみてくださいね!