Loading files
# ミニアプリサンプル: スタックチャン CATCH
スタックチャン CATCHは、ミニアプリ領域を単一のPiu `Port`で描く、離散状態のキャッチゲームです。
archiveをインストールしてミニアプリ一覧を開き、`スタックチャン CATCH`を選びます。
- 中央1/3をタップすると開始・リトライします。
- プレイ中は左1/3または右1/3をタップすると、スタックチャンが1レーン移動します。
- 画面下部の `LEFT` / `START` / `RIGHT` ガイドが、現在利用できるタップ領域を濃色で示します。
- ネジ・M5Stack・吹き出しを受け止めると1点です。取り逃がすか、爆弾を受け止めるとミスになります。
- 爆弾は別レーンへ移動して避けます。避けても得点は増えません。
- 落下物はwaveで区切らず、空いた枠へ次を補充する連続ストリームです。画面上には常に1〜2個が落下します。
- 落下速度は低速・中速・高速の3段階です。後発が先に着地する場合も、着地間隔を最低3 tick確保します。
- 5点ごとにtickが600 msから50 msずつ短くなり、最短250 msになります。
スプライトは滑らかに動かさず、固定ポーズを瞬間的に切り替えます。LCD色の背景に薄い経路マーカーと濃いアクティブポーズを描き、現在位置を明確にしながらゲーム&ウォッチ風の表示にしています。
現在の外部ミニアプリにはタッチイベントだけが渡され、本体ボタン能力は公開されません。そのためCore2/CoreS3の物理ボタンは割り当てていません。終了にはホスト所有の「戻る」ボタンを使います。`Port`が非表示になったときもゲームタイマーを停止します。
`firmware/`から次のコマンドでarchiveをビルドできます。
```console
npm run mod:build -- mods/examples/stackchan_catch/manifest.json --mode=release
```
## スプライトの出典
プレイヤーポーズは[meganetaaan/mouse-follower](https://github.com/meganetaaan/mouse-follower/blob/3258fc6d0890019a3c94024e3a456175cd563a6a/packages/mouse-follower/assets/stack-chan.png)(commit `3258fc6d`)のスタックチャン画像をデザイン参照としてOpenAIの組み込み画像生成で作成し、このゲーム用の単色alphaマスクへ縮小しました。爆弾も既存アイテムのスプライトシートをスタイル参照として同じ方法で作成しています。参照元の配布条件は[LICENSE.mouse-follower](./LICENSE.mouse-follower)を参照してください。
54d761463This file is pinned to the selected release. Download the original to open it in your design tool.