Vocabulary Set - Matching Cards
DomainsDOL EnglishUX530 words3 min read
Purpose
Phần tiêu đề “Purpose”- Ghi lại công thức sinh ba mức độ khó cho riêng mini game ghép thẻ (Matching Cards) trong Vocabulary Set.
- Đảm bảo số lượng từ ở mỗi cấp độ phù hợp, chia được cho 6 để tạo thành cặp thẻ.
Difficulty Formula
Phần tiêu đề “Difficulty Formula”- Cấp 1 (Dễ): luôn dùng 6 từ (mặc định). Không phụ thuộc kích thước danh sách.
- Cấp 2 (Vừa):
- Tính
floor(totalWords * 0.4). - Điều chỉnh xuống bội số của 6 gần nhất (
count -= count % 6). - Nếu kết quả < 12 (tối thiểu 2 cặp) hoặc 0 → bỏ qua.
- Tính
- Cấp 3 (Khó):
- Tính
floor(totalWords * 0.7). - Điều chỉnh xuống bội số của 6 (
count -= count % 6). - Nếu kết quả < 12 hoặc trùng với cấp trước → bỏ qua.
- Tính
Builder Logic
Phần tiêu đề “Builder Logic”- Khởi tạo danh sách mức độ khó rỗng.
- Luôn thêm cấp 1 (6 từ).
- Tính cấp 2 bằng công thức 40%; nếu hợp lệ thì thêm vào danh sách.
- Tính cấp 3 bằng công thức 70%; nếu hợp lệ thì thêm vào danh sách.
- Nếu cấp 2 không hợp lệ nhưng cấp 3 hợp lệ → dùng giá trị cấp 3 làm cấp độ “Vừa”. Không cần đủ 3 cấp độ trong mọi trường hợp.
- Hiển thị các cấp độ theo thứ tự dễ → khó dựa trên số lượng thực tế đã tính được.
Examples
Phần tiêu đề “Examples”- Danh sách 56 từ:
- Cấp 1: 6 từ.
- Cấp 2:
floor(56 * 0.4) = 22→ điều chỉnh xuống 18 từ. - Cấp 3:
floor(56 * 0.7) = 39→ điều chỉnh xuống 36 từ.
- Danh sách 18 từ:
- Cấp 1: 6 từ.
- Cấp 2:
floor(18 * 0.4) = 7→ <12 nên bỏ qua. - Cấp 3:
floor(18 * 0.7) = 12→ hợp lệ → hiển thị là cấp “Vừa”.
Difficulty Sets
Phần tiêu đề “Difficulty Sets”- Mỗi set luôn có thêm mức “Tất cả” (All) sử dụng toàn bộ từ trong list.
- Tối đa 4 mức độ: Dễ, Vừa, Khó, Tất cả. Khi số từ không đủ, chỉ hiển thị các mức thoả thuật toán.
- Kết hợp thử thách (challenge) → tạo màn chơi riêng:
- Challenge gồm: Định nghĩa VI / Định nghĩa EN / Kết hợp.
- Combo ví dụ: Dễ - VI, Dễ - VI/EN, Khó - EN…
Leaderboard Logic
Phần tiêu đề “Leaderboard Logic”- Mỗi màn chơi (difficulty + challenge) có leaderboard riêng.
- Xếp hạng dựa vào thời gian hoàn thành (nhỏ hơn = xếp cao).
- Sau khi hoàn thành lượt chơi, gửi record gồm { difficulty, challenge, timeTaken } vào leaderboard.
- Có thể hiển thị top N và vị trí của user.
Edge Cases & Notes
Phần tiêu đề “Edge Cases & Notes”- Nếu tổng số từ < 12, chỉ hiển thị cấp 1 (6 từ).
- Nếu totalWords < 6, fallback sang số lượng tối đa chia hết cho 2 cặp (
max(6, totalWords - totalWords % 2)). - Luôn đảm bảo số lượng từ được chia thành cặp hoàn chỉnh (chia hết cho 2) và bảng thẻ không lặp thừa.