注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ ここ]をクリックして今すぐ参加しましょう!
ゲーム - スネーク
この例では、R4 Wifiボードを使用して8x12のLEDマトリックス上でクラシックなスネークゲームを実装しています。 プレイヤーは二軸ジョイスティックを使ってスネークの方向を制御します。
必要なコンポーネント
このプロジェクトでは、以下のコンポーネントが必要です。
一式を購入するのが便利です。こちらがリンクです:
名称 |
このキットのアイテム数 |
リンク |
|---|---|---|
Elite Explorer Kit |
300+ |
以下のリンクから個別に購入することもできます。
コンポーネント紹介 |
購入リンク |
|---|---|
- |
|
配線図
回路図
コード
注釈
ファイル
13_snake.inooは、パスelite-explorer-kit-main\fun_project\13_snakeoで直接開けます。または、このコードをArduino IDEにコピーしてください。
どのように動作するのか?
コードの詳細な説明はこちらです:
変数の定義と初期化
LEDマトリックス操作のための
Arduino_LED_Matrixライブラリをインポートします。 matrixはLEDマトリックスのインスタンスです。frameとflatFrameは、画面上のピクセル情報を格納・処理するための配列です。 スネークは、各ポイントがx座標とy座標を持つPoint構造体の配列として表されます。 foodは食べ物の位置を表します。directionはスネークの現在の移動方向です。setup()ジョイスティックのX軸とY軸を入力として初期化します。 LEDマトリックスを起動します。 スネークの開始位置を画面の中央で初期化します。 食べ物の初期位置をランダムに生成します。
loop()ジョイスティックからの読み取りに基づいてスネークの方向を決定します。 スネークを移動させます。 スネークの頭が食べ物に衝突するかどうかを確認します。 衝突した場合、スネークは成長し、新しい位置に新しい食べ物が生成されます。 スネークが自分自身と衝突するかどうかを確認します。衝突した場合、ゲームをリセットします。 LEDマトリックス上に現在のゲーム状態(スネークと食べ物の位置)を描きます。 ゲームの速度を制御するために遅延を加えます。
moveSnake()尾から頭にかけて、スネークの各部分を前の部分の位置に移動させます。 その方向に基づいてスネークの頭を移動させます。
generateFood()可能なすべての食べ物の位置を生成します。 各位置がスネークのいずれかの部分と重なっていないかを確認します。重なっていない場合、その位置は可能な食べ物の位置とみなされます。 可能な食べ物の位置をランダムに選択します。
drawFrame()現在のフレームをクリアします。 スネークと食べ物をフレーム上に描きます。 2次元のフレーム配列を1次元の配列(flatFrame)に平坦化し、LEDマトリックスにロードします。