Skip to content

主専攻実験で制作したテトリスクローン

Notifications You must be signed in to change notification settings

SegaraRai/TetraGBA

Repository files navigation

TETRA GBA

概要

テトリスのような落ちものパズルのゲームです。

Gameplay

実行方法

実行にはビルド済みのバイナリ(final.binfinal.mb)が必要です。
後述するビルド方法を参考にビルドを行うか、Releasesからビルド済みのバイナリを入手してください。

実機で行う場合

実験で配布された機材がある場合は、実機で実行できます。
計算機室のmacOSでoptusbを用いるか、あるいはWindowsでもoptusbxで実機にプログラムを転送できます。
それらの詳しい使用方法については主専攻実験のマニュアルや、optusbxのウェブページを参照してください。
転送するプログラムはfinal.binfinal.mbのいずれでも大丈夫です(同一の内容です)。

エミュレータを用いる場合

実機で実行できる環境にない場合は、エミュレータで実行できます。
ここでは、エミュレータにVisual Boy Advance - Mを用います。
起動してキー設定を行った後final.mbを開くことで実行できます。

操作方法

タイトル画面

キー 動作
↑↓ カーソル移動
A 決定
START ゲーム開始(カーソルによらずNEW GAMEを選択)
SELECT ゲーム設定(カーソルによらずCONFIGを選択)

設定画面

キー 動作
↑↓ カーソル移動
←→ 選択項目変更
A (RETURN選択時のみ)タイトルに戻る
SELECT タイトルに戻る

ゲーム画面

キー 動作
←→ ミノ移動
ハードドロップ
ソフトドロップ
A 右回転
B 左回転
LR ホールド
START ポーズ

ポーズ画面

キー 動作
START ポーズ解除
SELECT 長押しでタイトルに戻る

ゲームクリア画面、ゲームオーバー画面

キー 動作
←→ 統計情報切り替え
START 再プレイ
SELECT タイトルに戻る

その他タイトル画面と設定画面に隠しコマンド

ビルド方法

必要なもの

  • Linux
    作者はWSL2上のUbuntu 20.04を使用
  • GNU Arm Embedded Toolchain
    gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2をダウンロードし、アーカイブを/usr/local/以下に解凍する
    すると/usr/local/gcc-arm-none-eabi-9-2020-q2-update/以下にarm-none-eabibinlibshareディレクトリが存在する形になる
  • CMake 3.12 以降
  • FFmpeg なるべく新しいもの
  • Node.js 12.0.0 以降

ビルド手順

  1. src/resources/image/ディレクトリとsrc/resources/song/ディレクトリにてnpm installコマンドを実行する
  2. build-release.shを実行する(作業ディレクトリはリポジトリのルート)

シェルスクリプトで言えば以下の通り。

pushd src/resources/image
npm install
popd
pushd src/resources/song
npm install
popd
./build-release.sh

build-release/final.binにバイナリが出力されます。

また、build-release/final.mbにも同一のものが出力されます。
こちらはエミュレータでの動作確認用に用いることができます。

使用素材、帰属表示

効果音

以下よりお借りしました。

フォント

8x8フォントはUnsciiを用いました。

また、エフェクト部にはArial Nova、Verdana、Verdana Pro等を用いています。

画像

背景画像はGraphicsFuelのものを用いました。

商標

TetrisはTetris Holding, LLCの登録商標です。