Update game.json

This commit is contained in:
2026-01-16 06:58:40 +00:00
parent 8f82c8ea1b
commit 9991f10a94

128
game.json
View File

@@ -293,53 +293,57 @@
"game_mechanics": { "game_mechanics": {
"cách_chơi": "Người chơi kéo nối hoặc chọn cặp tương ứng giữa 2 cột", "cách_chơi": "Người chơi kéo nối hoặc chọn cặp tương ứng giữa 2 cột",
"cách_tính_điểm": "Mỗi cặp đúng = 1 điểm", "cách_tính_điểm": "Mỗi cặp đúng = 1 điểm",
"xác_định_đáp_án": "So sánh cặp left-right người chơi nối với mảng 'pairs'" "xác_định_đáp_án": "So sánh cặp left-right người chơi nối với mảng 'items'"
}, },
"base_schema": { "base_schema": {
"pairs": {
"type": "array<MatchPair>",
"nullable": false,
"mô_tả": "Danh sách các cặp nối (min 2, max 10)",
"item_schema": {
"left": { "left": {
"type": "object",
"nullable": false,
"mô_tả": "Nội dung cột trái",
"fields": {
"text": { "text": {
"type": "string", "type": "string",
"nullable": true, "nullable": true,
"mô_tả": "Nội dung text cột trái" "mô_tả": "Nội dung text"
}, },
"image_url": { "image_url": {
"type": "string", "type": "string",
"nullable": true, "nullable": true,
"mô_tả": "URL hình ảnh cột trái" "mô_tả": "URL hình ảnh"
}, }
"image_description": {
"type": "string",
"nullable": true,
"mô_tả": "Mô tả hình ảnh"
} }
}, },
"right": { "right": {
"text": { "type": "object",
"type": "string", "nullable": false,
"nullable": true, "mô_tả": "Nội dung cột phải (cấu trúc giống left)"
"mô_tả": "Nội dung text cột phải"
}, },
"image_url": { "is_example": {
"type": "string", "type": "boolean",
"nullable": true, "nullable": false,
"mô_tả": "URL hình ảnh cột phải" "default": false,
"mô_tả": "true = đây là câu mẫu"
}
}, },
"image_description": { "metadata_schema": {
"title": {
"type": "string", "type": "string",
"nullable": true, "mô_tả": "Tiêu đề bài"
"mô_tả": "Mô tả hình ảnh" },
} "description": {
} "type": "string",
} "mô_tả": "Mô tả"
},
"grade": {
"type": "number",
"mô_tả": "Khối lớp 1-12"
},
"difficulty": {
"type": "number",
"mô_tả": "Độ khó 1-5"
}, },
"mode": { "mode": {
"type": "enum", "type": "enum",
"nullable": false,
"values": [ "values": [
"text_to_text", "text_to_text",
"text_to_image", "text_to_image",
@@ -350,21 +354,13 @@
}, },
"left_label": { "left_label": {
"type": "string", "type": "string",
"nullable": false,
"default": "Column A", "default": "Column A",
"mô_tả": "Tên cột trái" "mô_tả": "Tên cột trái"
}, },
"right_label": { "right_label": {
"type": "string", "type": "string",
"nullable": false,
"default": "Column B", "default": "Column B",
"mô_tả": "Tên cột phải" "mô_tả": "Tên cột phải"
},
"is_example": {
"type": "boolean",
"nullable": false,
"default": false,
"mô_tả": "true = đây là câu mẫu"
} }
}, },
"variants": [ "variants": [
@@ -372,14 +368,11 @@
"name": "Nối Text - Text", "name": "Nối Text - Text",
"mô_tả": "Nối 2 cột văn bản (câu hỏi-đáp án, từ-nghĩa)", "mô_tả": "Nối 2 cột văn bản (câu hỏi-đáp án, từ-nghĩa)",
"required_fields": [ "required_fields": [
"pairs", "left",
"mode", "right"
"left_label",
"right_label"
], ],
"note": "Cả left và right đều dùng field 'text'",
"example": { "example": {
"pairs": [ "items": [
{ {
"left": { "left": {
"text": "Thủ đô của Pháp?" "text": "Thủ đô của Pháp?"
@@ -397,64 +390,77 @@
} }
} }
], ],
"metadata": {
"mode": "text_to_text", "mode": "text_to_text",
"left_label": "Câu hỏi", "left_label": "Câu hỏi",
"right_label": "Đáp án" "right_label": "Đáp án"
} }
}
}, },
{ {
"name": "Nối Text - Hình ảnh", "name": "Nối Text - Hình ảnh",
"mô_tả": "Nối từ với hình ảnh tương ứng", "mô_tả": "Nối từ với hình ảnh tương ứng",
"required_fields": [ "required_fields": [
"pairs", "left",
"mode", "right"
"left_label",
"right_label"
], ],
"note": "left dùng 'text', right dùng 'image_url' + 'image_description'",
"example": { "example": {
"pairs": [ "items": [
{ {
"left": { "left": {
"text": "Apple" "text": "Apple"
}, },
"right": { "right": {
"image_url": "https://example.com/apple.jpg", "image_url": "https://example.com/apple.jpg"
"image_description": "Quả táo đỏ" }
},
{
"left": {
"text": "Car"
},
"right": {
"image_url": "https://example.com/car.jpg"
} }
} }
], ],
"metadata": {
"mode": "text_to_image", "mode": "text_to_image",
"left_label": "Từ vựng", "left_label": "Từ vựng",
"right_label": "Hình ảnh" "right_label": "Hình ảnh"
} }
}
}, },
{ {
"name": "Nối Hình ảnh - Hình ảnh", "name": "Nối Hình ảnh - Hình ảnh",
"mô_tả": "Nối 2 hình ảnh có liên quan với nhau", "mô_tả": "Nối 2 hình ảnh có liên quan với nhau",
"required_fields": [ "required_fields": [
"pairs", "left",
"mode", "right"
"left_label",
"right_label"
], ],
"note": "Cả left và right đều dùng 'image_url' + 'image_description'",
"example": { "example": {
"pairs": [ "items": [
{ {
"left": { "left": {
"image_url": "https://example.com/cat.jpg", "image_url": "https://example.com/cat.jpg"
"image_description": "Con mèo"
}, },
"right": { "right": {
"image_url": "https://example.com/fish.jpg", "image_url": "https://example.com/fish.jpg"
"image_description": "Con cá" }
},
{
"left": {
"image_url": "https://example.com/dog.jpg"
},
"right": {
"image_url": "https://example.com/bone.jpg"
} }
} }
], ],
"metadata": {
"mode": "image_to_image", "mode": "image_to_image",
"left_label": "Động vật", "left_label": "Động vật",
"right_label": "Thức ăn yêu thích" "right_label": "Thức ăn"
}
} }
} }
] ]