スネークLEDマトリックスゲーム
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> |
|
このプロジェクトについて
MeccanoidとErectorをフレームとして設定してクールなゲーム機を作り、 Sergey Royz を使用しました。 コード(チェックアウト)と私はそれに余分なものを追加し、それがスムーズに動くように速度を上げました。フレームの作り方については説明しませんが、自分でフレームを作ることをお勧めします。ただし、フレームは必要です。これを楽しんで、あなたがやりたいことをしてください。私はあなたがこのプロジェクトを気に入ってくれることを願っています!質問があればコメントしてください。できるだけ早く答えられるといいのですが、次のプロジェクトについて何かアドバイスがあればコメントして教えてください。また、私のフリッツが機能していなかったので、私はあなたに言うだけです:
回路図:
ブレッドボードを使用せずに、より多くのGNDと5vコンセントを確保できるように、シールドをArduinoUnoに取り付けます。
マトリックス:
- VCCから5VArduino
- GNDからGNDArduino
- Arduinoのデジタルピン10へのDIN
- Arduinoのデジタルピン9へのCS
- Arduinoのデジタルピン8へのCLK
ジョイスティック:
- ArduinoのGndからGndピン
- Arduinoで+ 5vから5V
- ArduinoでVRXからA0へ
- ArduinoでA1にVRY
- SWからデジタルピン2
コード
- ヘビ
ヘビ C / C ++
コードをコピーして貼り付けるだけです/ ** *ヘビ*古典的なヘビゲームの実装*ヘビは絶えず動き、プレイヤーは*自分自身や境界線との交差を避けなければなりません。 *ヘビが食べ物を食べると、成長して少しスピードアップします。 * * 2016年6月23日* SergeyRoyzとハンターBuzzellによる* /#include/ *ジョイスティックPIN * /#define VRX A0#define VRY A1#define SW 2 / *表示PIN * /#define CLK 8#定義CS9#define DIN 10#define SIZE 8#define ADVANCE_DELAY 20int snake [SIZE * SIZE] [2]; int length; int food [2]、v [2]; bool is_game_over =false; long current_time; long prev_advance; int flash_count; const short messageSpeed =5; LedControl lc =LedControl(DIN、CLK、CS、1); void init_game(){prev_advance =current_time =0; flash_count =3; int half =SIZE / 2;長さ=サイズ/ 3; for(int i =0; i =SIZE){delay(1000); showGameOverMessage(); trueを返します。 } if(head [1] <0 || head [1]> =SIZE){delay(1000); showGameOverMessage(); trueを返します。 } for(int i =0; i =0; i-){snake [i + 1] [0] =snake [i] [0]; snake [i + 1] [1] =snake [i] [1]; } snake [0] [0] + =v [0]; snake [0] [1] + =v [1]; falseを返します;} void setup(){pinMode(SW、INPUT_PULLUP); pinMode(VRX、INPUT); pinMode(VRY、INPUT); attachInterrupt(digitalPinToInterrupt(SW)、再起動、RISING); lc.shutdown(0、false); lc.setIntensity(0、8); init_game(); render();} void loop(){if(!is_game_over){clearScreen();与える(); if(current_time --prev_advance> ADVANCE_DELAY){is_game_over =Advance(); prev_advance =current_time; }} else {while(blink_count> 0){clearScreen(); delay(300);与える(); delay(300); flash_count--; }} readControls(); current_time ++;} void restart(){init_game(); is_game_over =false;} void readControls(){int dx =map(analogRead(VRX)、0、906、2、-2); int dy =map(analogRead(VRY)、0、906、-2、2); if(dx!=0){dx =dx / abs(dx);} if(dy!=0){dy =dy / abs(dy);} if(dy!=0 &&v [0]!=0 ){v [0] =0; v [1] =dy; } if(dx!=0 &&v [1]!=0){v [0] =dx; v [1] =0; }} const PROGMEM bool gameOverMessage [8] [90] ={{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 、0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 、0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 、0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}、{0,0,0 、0,0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0 、0,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0 、1,1,0,0,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,0 、1,1,0,0,0,0,0,0,0,0,0}、{0,0,0,0,0,0,0,0,1,1,0,0,1 、1,0,0,1,1,0,0,1,1,0,0,1,1,1,0,1,1,1,0,0,1,1,0,0,0 、0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1 、0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0 、0}、{0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0 、0,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0 、0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0 、1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0}、{0,0,0,0,0,0,0,0 、1,1,0,0,0,0,0,0,1,1,1,1,1,1,0,0,1,1,0,1,0,1,1,0,0 、1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1 、1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,0,0,0,0,1,1,0,0,0 、0,0,0,0,0,0}、{0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0,1,1 、0,0、 1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0、 1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,0,1 1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0}、{0,0,0,0,0、 0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,1 1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1 1,1,1,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0、 0,0,0,0,0,0,0,0,0}、{0,0,0,0,0,0,0,0,0,1,1,1,1,0,0、 0,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,1,1,1,1,1,1,0、 0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1 1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0}}; void showGameOverMessage(){for(int d =0; d
製造プロセス
- Arduinoゲームコントローラー
- MAX7219を搭載した24x16マトリックスのArduinoPongゲーム
- 自家製16x8マトリックス上のArduinoNanoTetrisゲーム
- LEDを制御するBluetoothを搭載したArduino!
- LEDマトリックス+モーションセンサードアディスプレイ[ArduinoHoliday]
- Arduino Quadruped
- ピクセルチェイサーゲーム
- シングルLEDマトリックスArduinoフリップクロック
- ArduinoRGBカラーミキサー
- ArduinoUnoでLEDマトリックスを制御する
- WS2812LEDストリップを備えたDIYArduino1Dポンゲーム