注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ ここ]をクリックして今すぐ参加しましょう!
ゲーム - 数当てゲーム
数当てゲームは、あなたとあなたの友人が交代で数字(0~99)を入力するエンターテイメント性の高いパーティーゲームです。 各数字の入力により範囲が狭まり、プレイヤーが正解を当てるまで続きます。 正解を当てたプレイヤーは敗者と宣言され、罰を受けます。 例えば、秘密の数字が51であり、プレイヤー1が50を入力した場合、 数字の範囲のプロンプトは50~99に変わります。プレイヤー2が70を入力した場合、数字の範囲は50~70になります。 プレイヤー3が51を入力した場合、彼らが不運な人です。 このゲームでは、数字を入力するためにIRリモートコントローラを使用し、結果を表示するためにLCDを使用します。
必要なコンポーネント
このプロジェクトでは、以下のコンポーネントが必要です。
一式を購入するのが便利です。こちらがリンクです:
名称 |
このキットのアイテム数 |
リンク |
|---|---|---|
Elite Explorer Kit |
300+ |
以下のリンクから個別に購入することもできます。
コンポーネント紹介 |
購入リンク |
|---|---|
- |
|
配線図
回路図
コード
注釈
ファイル
10_guess_number.inoは、パスelite-explorer-kit-main\fun_project\10_guess_numberで直接開けます。または、このコードをArduino IDEにコピーしてください。
注釈
ライブラリをインストールするには、Arduinoライブラリマネージャーで 「IRremote」 と 「LiquidCrystal I2C」 を検索し、インストールしてください。
どのように機能しますか?
ライブラリのインポートとグローバル変数の定義:
3つのライブラリがインポートされます:I2C通信用の
Wire、LCDディスプレイの制御用のLiquidCrystal_I2C、赤外線リモートコントローラからの信号を受信するIRremote。 ゲームの状態と設定を保存するためのいくつかのグローバル変数が定義されています。setup()LCDディスプレイを初期化し、バックライトをオンにします。 9600のボーレートでシリアル通信を開始します。 赤外線レシーバーを起動します。 初期ゲーム状態を設定するために
initNewValue()関数を呼び出します。loop()赤外線リモートコントローラからの信号が受信されたかどうかを確認します。 受信した赤外線信号をデコードします。 デコードされた値(数字またはコマンド)に基づいてゲームの状態を更新するか、対応するアクションを実行します。
initNewValue()analogReadを使用してランダム数のシードを初期化し、毎回異なるランダム数が生成されることを保証します。 0から98の間でランダムな数字を生成し、それを当てる必要がある幸運な数字とします。 上限と下限のプロンプトをリセットします。 LCDにウェルカムメッセージを表示します。 入力された数字をリセットします。detectPoint()プレイヤーの入力した数字と幸運な数字の関係を確認します。 入力した数字が幸運な数字より大きい場合、上限のプロンプトを更新します。 入力した数字が幸運な数字より小さい場合、下限のプロンプトを更新します。 プレイヤーが正しい数字を入力した場合、入力をリセットし、trueを返します。
lcdShowInput()プレイヤーの入力と現在の上限・下限のプロンプトをLCDに表示します。 プレイヤーが正しく当てた場合、成功メッセージを表示し、ゲームを再開する前に5秒間一時停止します。