工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino UNOとMAX7219で作るUFOアタックゲーム – レトロなドットマトリクスシューティング

概要

Arduino UNOと「4-in-1」MAX7219ドットマトリクス(32×8ドット)、Atari互換9ピンジョイスティックを使ったレトロ風シューティングゲーム「UFO ATTACK!」の製作記です。自作コードで、UFO・バウンサー・フォーラー・ライザー・ミニボス(LT)・ボスなど多彩な敵が出現し、レベルごとに難易度が上がります。将来的にはハンドヘルド化も構想中。

必要なパーツ

パーツ名数量備考
Arduino UNO1
MAX7219 ドットマトリクスモジュール 4-in-1132×8ドット表示
DB9 9ピン端子台ブレークアウト基板1ジョイスティック接続用
汎用NPNトランジスタ1ブザー駆動用
ブレッドボード1
パッシブ圧電ブザー1Adafruit製等
ジャンパーワイヤー(オス/メス)5
ジャンパーワイヤー(汎用)10
抵抗 1kΩ1ブザー用
Atari互換9ピンジョイスティック1中古流用や自作も可

ハードウェア接続

詳細な配線図は添付の回路図(PNG)を参照。

ゲーム仕様

敵キャラクター

レベル進行

レベル1〜10まであり、各レベルで「撃破目標数(killsTarget)」を達成するとボス戦へ。ボス撃破で次レベルへ。レベル10クリアでエンディング。

// レベルごとのパラメータ例(スケッチ内 Level() 関数)
level 1: spawnTime=3000, killsTarget=10, bossHealth=10, bossLaserTimer=1000
level 5: spawnTime=1800, spawnTime2=4500, spawnTime3=6000, killsTarget=50, bossHealth=30, bossLaserTimer=600
level 10: bossLaserTimer=100, bossMinionTimer=1000  // 超高速

操作・ルール

コード構成のポイント

全て単一の .ino ファイルに収まっており、主な関数は以下の通り。

カスタマイズのヒント

参考ファイル

製造プロセス

  1. Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
  2. 水と光で作る疑似炎エフェクト──Arduino Uno+NeoPixel Stick
  3. 3D RGB アルドゥクロック:Bluetooth対応LED時計(RTC内蔵)
  4. 川の健康を見守る:Arduinoベース水質監視システム「MyRiver」
  5. Arduinoでアイアンマンを自作:部品・センサー・手順ガイド
  6. Arduinoとジョイスティックでインタラクティブゲーム – LEDフィードバック付き
  7. ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
  8. Arduino駆動3Dプリントロボットアームの製作:ステップバイステップガイド
  9. ポータブル距離検出器:Arduino Nano自作キット(HC-SR04、18650電源、3Dプリントケース付き)
  10. DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
  11. Arduinoで作る自律走行ミニローバー