Raspberry Pi Picoでテトリスを作った

制作物

Raspberry Pi Pico(以下Pico)とILI9341搭載の液晶でテトリスを作りました。

概要

よくあるテトリス。タッチパネルで操作します。
横列を揃えてブロックを消す度にスコアが加算され、落下が徐々に速くなっていきます。

作り方

部品

配線

PicoとILI9341との接続は参考[1]の3.2.2の項と同じです。リセットスイッチはPicoの30ピンとGNDを介するように接続します。

全体図



ボードとライブラリのインストール

Arduino IDEでボード「Raspberry Pi Pico/RP2040」をインストールします。
次に、以下のライブラリを全てインストールします。
Adafruit GFX Library by Adafruit
Adafruit ILI9341 by Adafruit
XPT2046_Touchscreen by Paul Stoffregen

プログラム

ソースコード

不具合は発見次第修正します(ver1.0: 2023.9)。大幅な改良が入る可能性もあります。

遊び方

画面最下部の左側をタップするとブロックが1マス左へ、右側をタップするとブロックが1マス右へ動きます。画面の真ん中らへんをタップするとブロックが回転します。また、画面最上部をタップするとブロックの落下が高速になります。

ゲームオーバーになるとスコアが表示されますが、画面をタップするとまたゲームが始まります。

感想

電子工作でゲームを作るのは今回が初めてで、色々と勉強になって楽しかったです。
初対面の人に自分の趣味を宣伝するのにも使えそうです。

参考

  1. LCDモジュールを使う(ILI9341)
  2. ゲームプログラミング:C++でテトリスを作ってみた

      いずれも2023/9/26に参照。