Mini Minesweeper Lite GAME
ミニマインスイーパー ライトは、時代を超えたロジックパズルをモバイル向けに、独特のピクセルクラシックなビジュアルテーマで提供します。ゲームプレイの基本はマインスイーパーそのもの。安全なマスを明らかにし、地雷にフラグを立て、爆発を起こさずに盤面をクリアしましょう。
**ゲームプレイ**
- 3 つの難易度:イージー(9×9 マス、地雷 10 個)、ミディアム(12×12 マス、地雷 20 個)、ハード(16×16 マス、地雷 40 個)
- ファーストタップセーフ:最初にマスをめくったマスとその 8 つの隣接マスは地雷がないことを保証します。
- 数字のヒントは、周囲 8 マスに地雷があることを示します。
- 空いているマスは、隣接する安全エリアを自動的に拡張します(洪水のように地雷が埋められます)。
- めくるモード(タップして掘る)とフラグを立てるモード(タップしてマークする)を切り替えます。
- すべての安全なマスを明らかにして勝利!地雷に触れるとゲームオーバー
**目標と制限**
- 移動回数や時間制限なし ― スピードよりも正確さを重視
- タイマーは最初のタップからの経過時間を計測
- 各難易度で自己ベスト更新に挑戦
- 無制限のリトライが可能各ゲームはランダムに生成される新しいボードです。
**アシストシステム**
- ヒント:リワード広告を視聴すると、セーフマスが 1 つ自動的に表示されます(ゲームごとに 1 つ)。
- 下部のモード切り替えボタンで、表示/フラグを切り替えます。
- 任意のマスを長押しすると、モードを変更せずにフラグを素早く切り替えられます。
**ビジュアルデザイン:ピクセルクラシックテーマ**
- 0dp の角丸(すべての四角いボタンとカード)
- ハイライトと影付きの 3D ベベルボタン
- すべての UI 要素に 2 ~ 4dp のピクセル境界線
- 数字とラベルには等幅フォントを使用
- 暗い背景(#0D0D0D)に明るい緑のアクセント(#00E436)
- すべて大文字の太字テキスト
- 絵文字アイコン(💣 ⏱ 💡 🚩)ですぐに認識可能
- 押下時のフィードバック:3D ボタンはタップすると平らになります。
**ページとナビゲーション**
- ホームアクティビティ:6 つのピクセルボタン(プレイ、設定、操作方法) (プレイ、履歴、統計、実績)
- ゲームアクティビティ:中央に正方形のボード、地雷/タイマーカウンター付き HUD、モード切り替え、ヒントボタン
- 難易度ダイアログ:開始前にイージー/ミディアム/ハードを選択
- ゲーム結果ダイアログ:タイム、ベストタイム、新記録バッジを表示
- 設定アクティビティ:サウンド、バイブレーション、レトロエフェクトの切り替え
- 遊び方アクティビティ:数字、フラグ、モード、ヒントを説明する 4 枚のチュートリアルカード
- 履歴アクティビティ:スクロール可能な記録リストと全クリアボタン
- 統計アクティビティ:11 種類の統計情報(プレイしたゲーム数、勝率、ベストタイム、パーフェクトゲーム)
- 実績アクティビティ:2 列グリッドで表示される 8 つの実績(初勝利、スピードデーモン、パーフェクショニスト、3/5 連勝、ベテラン、マスター、ハードモード)
- サブページはピクセルバックボタンでホームに戻ります。メインページはダブルバックボタンで終了
**UX に関する注記**
- 純粋なマルチアクティビティナビゲーション、下部タブ構造なし
- すべてのセカンダリページにカスタムピクセルツールバー(濃い黒の背景、下部に 4dp の緑色のピクセル境界線、◀矢印付きの 3D 戻るボタン)
- ステータスバーと下部ナビゲーションエリアは画面端まで最適化
- 画面中央に正方形のボードが表示されるようにセルサイズを動的に計算
- アクティブなゲームから戻る際に一時停止確認を表示
**広告統合**
- TradPlus SDK を独立した tradplus-sdk モジュールを介して統合
- リワード広告:ヒントブースト(ゲームごとに 1 回)
- インタースティシャル広告:ゲーム終了時のホーム画面への遷移、セッションごとに最大 3 回まで
- 広告ユニット ID は MinesweeperApp.kt と AndroidManifest.xml で設定
- 初回起動時に GDPR 同意を収集
**データ永続化**
- 履歴(最大 100 レコード)、統計(11 指標)、実績(8 つアンロック可能)、設定は SharedPreferences + Gson で保存(3 つの切り替えオプション)
- ルームデータベースなし。すべてのデータは JSON 文字列として保存されます。
- 履歴には、難易度、結果(勝敗)、時間、日付が記録されます。
- 統計情報には、合計/勝/敗数、勝率、難易度ごとのベストタイム、タイルの出現数、フラグの配置数、パーフェクトゲーム数が含まれます。
- ゲームプレイのマイルストーンに基づいて、実績が自動的に解除されます。
**技術情報**
- Kotlin
- XML レイアウト
- ViewBinding
- MVVM スタイルの状態管理(GameActivity には LiveData と ViewModel を使用)
- マルチアクティビティアーキテクチャ
- SharedPreferences による永続化(ルームなし)
- Java 17
- minSdk 26 / targetSdk 36 / compileSdk 36
- Android 16KB メモリページアライメント(`useLegacyPackaging = false`)
- Pixel Classic テーマを完全に実装
