## 1. Project Overview
- **Project Name**: Spot the Difference
- **Type**: Casual Puzzle Game
- **Target Users**: Players who enjoy puzzles, challenges to reaction time, and observation skills
- **Platform**: Android, pure Java, English version, available on Google Play
- **Core Gameplay**: In an N×N grid, all grids display the same image. A different image is randomly inserted. Players must find the different image within a time limit to pass the level.
---
## 2. Core Gameplay
1. Each level displays N×N grids.
2. Each grid displays the same image by default. One or more grids are randomly selected to display different images.
3. Player clicks on different grids:
- Correct: Mark the grid, adding to progress
- Incorrect: Deduct time or add to error count
4. Find all different grids within the time limit → Pass the level
Timeout or exceeding the error limit → Game over
5. Difficulty and Levels:
- Higher difficulty: Larger number of grids (e.g., 3×3 → 6×6 → 10×10), more different images, shorter time limit
6. The game supports timing, scoring, and leaderboard functions
---
## 3. Page Design and Functions
### 3.1 Startup Page / Main Menu
- **Elements**:
- Game Logo
- Buttons: Start Game, Level Selection, Achievements, Leaderboard, Settings, Help
- **Functions**:
- Click "Start Game" to enter the default level or the last unfinished level
- Click "Level Selection" to enter the level map
- Click "Achievements" to view unlock status
- Click "Leaderboard" to view global/friend rankings
- Click "Settings" to adjust game parameters
- Click "Help" to view game rules
---
### 3.2 Level Selection Page
- **Elements**:
- Level List (paginated or scrollable)
- Each level displays grid size, number of different grids, and whether it is unlocked
- **Functions**: - Click on a level to start the challenge
- Unlocked levels will be displayed as locked
- Display historical completion scores (time, number of errors, score)
---
### 3.3 Game Main Interface
- **Elements**:
- N×N grid area, each grid displays an image
- Countdown timer
- Number of found / Total number of different grids
- Pause button
- Hint button (limited uses)
- **Functions**:
- Click on a different grid → Highlight the marker
- Incorrect click → Deduct time or record the number of errors
- Countdown ends → Failure
- Find all different grids → Successfully complete the level
- Hint button → Temporarily highlight the position of a different grid
- Supports landscape or portrait mode adaptation
---
### 3.4 Achievement System Page
- **Example Achievements**:
- "Beginner": Complete the first level
- "Fast Hand": Complete a level within 10 seconds
- "Zero Errors": No errors in a level
- "High Difficulty Challenge": Complete the highest difficulty level
- **Features**:
- Displays unlocked and locked achievements
- Click on an achievement to view a detailed description
---
### 3.5 Leaderboard Page
- **Categories**:
- Global Leaderboard
- Friends Leaderboard
- This Week/Historical Leaderboard
- **Display Information**:
- Player Nickname/Avatar
- Completion Time, Number of Errors, Score
- **Features**:
- Leaderboard Refresh (Daily or Weekly)
- Supports switching between different categories
---
### 3.6 Settings Page
- **Features**:
- Sound Effects On/Off
- Background Music On/Off
- Hint Count Default Setting
- Game Difficulty Default Setting
- Language Switch (Chinese/English)
- **Features**:
- Save User Settings to Local Storage
- Load Settings the Next Time the Application Launches
---
### 3.7 Help Page
- **Content**:
- Game Rules Explanation
- Operation Method
- Achievements and Rewards Explanation
- Difficulty Description