1
Help us understand the problem. What are the problem?

posted at

updated at

Organization

光一剛判定ゲーム作った #obniz

KANZAI BOYAでミスるヲタク

何これ

KinKiKidsの曲を聞きながら、
「今歌っているのは光一か、剛か」
を判断してLEDを光らせるゲームです。
図書委員(KinKiKidsファンのこと)ならば、歌割を完璧に聞き分けたいですよね。(諸説あり)
心の中で「今のは光一、今のは剛、今のは光一上ハモ剛メロディー」
と判定してニチャニチャしてもいいですが、せっかくならと思い光らせてゲームっぽくしてみました。
楽しいです。

作り方

複数用意して図書委員同士で遊ぶとなお楽しいと思うので作り方を載せておきます。
簡単ですのでぜひ。

(1)必要なものをそろえる

以下のリンク先はすべて秋月電子通商の商品ページになっています。
obniz
LED赤(10本入りでなくてもいいですし、5mmでなくてもいいです。赤ければなんでも)
LED青(青ければなんでも)
ジャンパワイヤー(オス-オス)(使用したコードの色はもちろん赤と青)
ミニブレッドボード(なくてもいけますがあったほうが工作しやすいですしキーホルダーなどの推しグッズをつけやすいです。)

動画にあるマスコットはその昔十六茶のCMをやっていたときに、期間限定で十六茶についていた光一氏と剛氏です。
当時は毎日十六茶を飲んでいました。(思い出しゲップ)
色違いもありましたね。懐かしい。

20220204_130158.jpg

(2)どう動くか決める

obnizのスイッチを押したときに、それぞれどう動作するか決めます。
今回は以下の内容にしました。

obnizスイッチ obnizのディプレイ LED赤 LED青
KinKiKids 押す KinKiKids ON ON
光一 右に倒す Koichi ON OFF
左に倒す Tsuyoshi OFF ON
無音 押さない clear OFF OFF

(3)プログラムを作る

どう動くか決めたらプログラムに反映します。

const Obniz = require('obniz');
const obniz = new Obniz('Obniz_ID'); // Obniz_IDに自分のIDを入れます

obniz.onconnect = async function () {
    // LEDを利用
    const blue = obniz.wired('LED', { anode: 0, cathode: 1 }); // 青
    const red = obniz.wired('LED', { anode: 10, cathode: 11 }); // 赤

    // ディスプレイ表示(初期画面)LED OFF
    obniz.display.clear();
    obniz.display.print('start');
    red.off();
    blue.off();


    // スイッチの反応を常時監視
    obniz.switch.onchange = function (state) {
        if (state === 'left') {
            // スイッチが左に倒された時
            // ディスプレイ表示
            obniz.display.clear();
            obniz.display.print('Tsuyoshi');
            // 青点灯
            blue.on();
        } else if (state === 'right') {
            // ディスプレイ表示
            obniz.display.clear();
            obniz.display.print('Koichi');
            // 赤点灯
            red.on();
        } else if (state === 'push') {
            // スイッチが押されたとき
            obniz.display.clear();
            obniz.display.print('KinKiKids');
            // 両方点灯
            red.on();
            blue.on();
        } else {
            // 押されていない
            obniz.display.clear();
            red.off();
            blue.off();
        }        
    }
}

完成!

あとはお好きなKinKiKidsの曲を流して遊んでください。
テンポの速い曲だと難しいです。
KANZAIBOYAは難しかったです……。

出来ればボタン式にしたいし、音声認識させて自動で光るとかもおもしろそうです。
結果をどこかに出力して答え合わせできるようにしても面白いかも。
気が向いたらやります。(やらない)

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
1
Help us understand the problem. What are the problem?