Mini Minesweeper Lite GAME
Mini Minesweeper Lite mang trò chơi giải đố logic vượt thời gian lên thiết bị di động với chủ đề hình ảnh Pixel Classic đặc trưng. Lối chơi cốt lõi vẫn là Minesweeper thuần túy: khám phá các ô an toàn, đánh dấu mìn và dọn sạch bảng mà không gây ra vụ nổ.
**Cách chơi**
- Ba cấp độ khó: Dễ (9×9, 10 quả mìn), Trung bình (12×12, 20 quả mìn), Khó (16×16, 40 quả mìn)
- An toàn khi chạm đầu tiên: ô bạn khám phá đầu tiên và 8 ô lân cận được đảm bảo không có mìn
- Gợi ý số cho biết có mìn trong 8 ô xung quanh
- Các ô trống tự động mở rộng khu vực an toàn liền kề (lấp đầy)
- Chuyển đổi giữa chế độ KHÁM PHÁ (chạm để đào) và chế độ ĐÁNH DẤU (chạm để đánh dấu)
- Thắng bằng cách khám phá tất cả các ô an toàn; Thua cuộc nếu chạm phải mìn
**Mục tiêu & Giới hạn**
- Không giới hạn số lượt di chuyển hay thời gian — tập trung vào độ chính xác hơn tốc độ
- Đồng hồ đếm ngược thời gian kể từ lần chạm đầu tiên
- Thử thách bản thân để phá kỷ lục cá nhân ở mỗi độ khó
- Không giới hạn số lần chơi lại; Mỗi trò chơi là một bàn cờ mới được tạo ngẫu nhiên
**Hệ thống hỗ trợ**
- Gợi ý: xem quảng cáo có thưởng để tự động hiển thị một ô an toàn (1 ô mỗi trò chơi)
- Các nút chuyển đổi chế độ ở phía dưới để chuyển đổi giữa HIỂN THỊ/ĐÁNH DẤU
- Nhấn giữ bất kỳ ô nào để nhanh chóng bật/tắt cờ mà không thay đổi chế độ
**Thiết kế trực quan: Chủ đề Pixel Cổ điển**
- Góc bo tròn 0dp (tất cả các nút và thẻ hình vuông)
- Các nút vát cạnh 3D với hiệu ứng nổi bật và đổ bóng
- Viền pixel 2–4dp trên tất cả các yếu tố giao diện người dùng
- Phông chữ Monospace cho số và nhãn
- Nền tối (#0D0D0D) với điểm nhấn màu xanh lá cây tươi sáng (#00E436)
- Văn bản in hoa đậm xuyên suốt
- Biểu tượng Emoji (💣 ⏱ 💡 🚩) để nhận diện ngay lập tức
- Phản hồi khi nhấn: Các nút 3D phẳng ra khi chạm
**Trang & Điều hướng**
- Trang chủ: 6 nút pixel (CHƠI, CÀI ĐẶT, CÁCH CHƠI, LỊCH SỬ, (THỐNG KÊ, THÀNH TÍCH)
- Hoạt động trò chơi: bảng vuông ở giữa, HUD với bộ đếm mìn/thời gian, nút chuyển đổi chế độ, nút gợi ý
- Hộp thoại Độ khó: chọn Dễ/Trung bình/Khó trước khi bắt đầu
- Hộp thoại Kết quả trò chơi: hiển thị thời gian, thời gian tốt nhất, huy hiệu kỷ lục mới
- Hoạt động Cài đặt: bật/tắt âm thanh, rung, hiệu ứng retro
- Hoạt động Hướng dẫn chơi: 4 thẻ hướng dẫn giải thích về số, cờ, chế độ, gợi ý
- Hoạt động Lịch sử: danh sách kỷ lục có thể cuộn với nút xóa tất cả
- Hoạt động Thống kê: 11 thống kê (số trận đã chơi, tỷ lệ thắng, thời gian tốt nhất, trận đấu hoàn hảo)
- Hoạt động Thành tích: 8 thành tích trong lưới 2 cột (CHIẾN THẮNG ĐẦU TIÊN, QUỶ TỐC ĐỘ, NGƯỜI HOÀN HẢO, CHUỖI THẮNG 3/5, CỰU CHIẾN BINH, BẬC THẦY, CHẾ ĐỘ KHÓ)
- Các trang phụ trở về trang chủ thông qua nút quay lại pixel; Trang chính sử dụng nút quay lại hai lần để thoát
**Ghi chú UX**
- Điều hướng đa hoạt động thuần túy, không có cấu trúc tab dưới cùng
- Thanh công cụ Pixel tùy chỉnh trên tất cả các trang phụ (nền đen đậm, viền pixel xanh lá cây 4dp ở dưới cùng, nút quay lại 3D với mũi tên ◀)
- Thích ứng toàn màn hình cho thanh trạng thái và khu vực điều hướng dưới cùng
- Tính toán kích thước ô động để căn giữa bảng vuông trên màn hình
- Xác nhận tạm dừng khi thoát khỏi trò chơi đang hoạt động
**Tích hợp quảng cáo**
- Tích hợp SDK TradPlus thông qua mô-đun tradplus-sdk độc lập
- Quảng cáo có thưởng: Tăng gợi ý (1 lần mỗi trò chơi)
- Quảng cáo xen kẽ: chuyển tiếp trở lại trang chủ khi kết thúc trò chơi, giới hạn 3 lần mỗi phiên
- ID đơn vị quảng cáo được cấu hình trong MinesweeperApp.kt và AndroidManifest.xml
- Thu thập sự đồng ý GDPR khi khởi chạy lần đầu
**Lưu trữ dữ liệu**
- SharedPreferences + Gson cho lịch sử (tối đa 100 bản ghi), thống kê (11 chỉ số), thành tích (8 có thể mở khóa), cài đặt (3) (các nút chuyển đổi)
- Không có cơ sở dữ liệu Room; tất cả dữ liệu được lưu trữ dưới dạng chuỗi JSON
- Lịch sử theo dõi độ khó, kết quả (thắng/thua), thời gian, ngày tháng
- Thống kê bao gồm tổng số/thắng/thua, tỷ lệ thắng, thời gian tốt nhất cho mỗi độ khó, số ô được tiết lộ, số cờ đã đặt, số trận đấu hoàn hảo
- Thành tích tự động mở khóa dựa trên các mốc chơi game
**Ghi chú kỹ thuật**
- Kotlin
- XML Layout
- ViewBinding
- Quản lý trạng thái theo kiểu MVVM (LiveData + ViewModel cho GameActivity)
- Kiến trúc đa hoạt động
- Lưu trữ SharedPreferences (không có Room)
- Java 17
- minSdk 26 / targetSdk 36 / compileSdk 36
- Căn chỉnh trang bộ nhớ Android 16KB (`useLegacyPackaging = false`)
- Chủ đề Pixel Classic được triển khai đầy đủ
