全体フロー

flowchart TD Launch([起動]) --> App[BlockPuzzleApp] App --> Home[HomeView
NavigationStack] Home --> Game[GameView] Home --> Settings[SettingsView] Home --> Stats[StatisticsView] Game --> GameOver[GameOverView
オーバーレイ] GameOver -- Retry --> Game GameOver -- Watch Ad --> Reward[Rewarded広告] Reward --> Game GameOver -- Mode Select --> Home GameOver -- Share --> ShareSheet[ShareSheet] Settings --> Paywall[PaywallView] Paywall -- 購入 --> Settings

ゲーム画面の状態遷移

flowchart LR Init[GameState .playing] --> Place[ブロック配置] Place --> Check{ライン揃い?} Check -- yes --> Clear[ライン消去演出] Clear --> Combo{連続消去?} Combo -- yes --> ComboPlus[combo+1] ComboPlus --> Init Combo -- no --> ResetCombo[combo=0] ResetCombo --> Init Check -- no --> Refill{トレイ全消費?} Refill -- yes --> NewBlocks[新トレイ生成] NewBlocks --> Check2{配置可能?} Check2 -- no --> Over[GameState .gameOver] Refill -- no --> Init

主要な遷移トリガー

起点操作遷移先
HomeViewPlayボタンGameView
GameViewゲームオーバー判定GameOverView(オーバーレイ)
GameOverViewWatch AdRewarded広告 → ゲーム継続
GameOverViewRestartGameView(リセット)
HomeViewSettingsSettingsView

画面ID対応表

画面ID画面ファイル
PZ-HOME-01ホームViews/Home/HomeView.swift
PZ-GAME-01ゲームViews/Game/GameView.swift
PZ-OVER-01ゲーム終了Views/GameOver/GameOverView.swift
PZ-SET-01設定Views/Settings/SettingsView.swift
PZ-STATS-01統計Views/Statistics/StatisticsView.swift
PZ-PAY-01PaywallViews/Paywall/PaywallView.swift

変更履歴

バージョン日付変更内容
1.02026-05-09初版作成