ゲーム - ポン¶
これは、OLEDディスプレイとArduinoボードを使用して設計されたシンプルなポンゲームです。 ポンゲームでは、プレイヤーはコンピュータと対戦し、垂直なパドルを操作して跳ね返るボールを跳ね返します。 目標は、ボールを自分のパドルの端を越えさせないようにすることで、さもなければ相手に得点されます。
ゲームのメカニズムは以下のパーツに分けられます:
ボールの動き - ボールは現在の方向に沿って設定された速度で動きます。ボールがパドルに衝突するたびに、その速度が増加し、ゲームがより難しくなります。
パドルの動き - ボールの動きをブロックするために使用されるパドルは、上または下に動かすことができます。プレイヤーはボタンを使用して自分のパドルを操作し、コンピュータのパドルは自動的にボールの位置に従います。
スコアリング - ボールが画面の左または右端を越えるたびに、対応するプレイヤーまたはCPUが得点します。
必要なコンポーネント
このプロジェクトでは、以下のコンポーネントが必要です。
一式を購入するのが便利です。こちらがリンクです:
名称 |
このキットのアイテム数 |
リンク |
---|---|---|
Elite Explorer Kit |
300+ |
以下のリンクから個別に購入することもできます。
コンポーネント紹介 |
購入リンク |
---|---|
- |
|
- |
配線図
回路図
コード
注釈
ファイル
12_pong_oled.ino
は、パスelite-explorer-kit-main\fun_project\12_pong_oled
で直接開けます。または、このコードをArduino IDEにコピーしてください。
注釈
ライブラリをインストールするには、Arduinoライブラリマネージャーで 「Adafruit SSD1306」 と 「Adafruit GFX」 を検索し、インストールしてください。
どのように動作するのか?
プログラムの構造は以下の5つの部分に分けられます:
必要なライブラリのインポート - OLEDスクリーンの制御とボタン入力の読み取りに使用されます。
定数とグローバル変数の定義:
OLEDスクリーンの幅と高さの定義。 ボタンとOLEDリセットピンの定義。 ボールとパドルの位置、速度、サイズ、方向。 プレイヤーとCPUのスコア。
初期化:
シリアル通信、OLEDスクリーンを初期化し、初期インターフェースを表示します。 ボタンを入力として設定し、プルアップ抵抗器を接続します。 プレイングフィールドを描きます。
メインループ:
ボタンの状態を読み取ります。 設定されたリフレッシュレートに基づいてボールを動かします。 ボールとパドルまたは壁との衝突を検出し、ボールの方向と速度をそれに応じて調整します。 得点イベントに基づいてスクリーン上のスコアを更新します。 パドルの位置をリフレッシュします。
追加の関数:
crossesPlayerPaddle
とcrossesCpuPaddle
- ボールがプレイヤーのパドルまたはCPUのパドルと衝突するかどうかを検出するために使用されます。drawCourt
- OLEDスクリーン上にプレイングフィールドを描きます。displayScore
- 画面上にプレイヤーとCPUのスコアを表示します。