Files
English/kouyu_english/assets/courses/A1/A1-U04.json
T
shenleiandClaude Opus 4.8 febfd30f49 feat: A1 短材料复现本单元理解词,并加入黑夜模式
课程内容
- 重写全部 21 个 A1 单元的听读材料,把本单元理解词织进听/读文本,
  单元内理解词复现率从约 20% 提升到约 77%(各单元 56–96%)。
- 修正 U01 房间号与机场大巴同为 thirty 的撞车(改为 17/30/40)。
- 校验器容差按级别读取(A1 为 8%),materials 覆盖率、字数、
  选项子串等校验全部通过;course_content_test 通过。

黑夜模式
- app_theme 拆分明/暗两套调色板,AppColors 随亮度切换;
  main 用 theme/darkTheme/themeMode + builder 镜像已解析亮度;
  主题偏好持久化到快照;进度页新增“外观主题”切换。

文档
- COURSE-PACK-JSON.md 更新 A1 词池覆盖(840/933)与材料复现约定。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-18 11:16:09 +09:00

955 lines
24 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"schemaVersion": 1,
"id": "A1-U04",
"revision": 1,
"level": "A1",
"title": "问路",
"categories": [
"旅行"
],
"canDo": "问地点、听懂左右和距离",
"status": "draft",
"meta": {
"draftedBy": "claude-opus-5",
"draftedAt": "2026-09-17",
"sources": [
"CEFR-J Vocabulary Profile 1.5",
"CEFR-J Grammar Profile 20180315"
],
"reviews": [],
"frozenAt": null
},
"names": [],
"grammar": [
{
"id": "245",
"use": "active"
},
{
"id": "246",
"use": "active"
},
{
"id": "117",
"use": "active"
},
{
"id": "21",
"use": "active"
},
{
"id": "146",
"use": "receptive"
}
],
"coreItems": [
{
"id": "A1-U04-P01",
"type": "pattern",
"en": "Where is the station?",
"zh": "车站在哪里?",
"sceneWord": false,
"match": [
[
"where is",
"where are"
]
],
"example": {
"en": "Excuse me. Where is the toilet?",
"zh": "打扰一下,洗手间在哪里?"
},
"review": {
"prompt": "你想找一个地方,问它在哪里。"
}
},
{
"id": "A1-U04-P02",
"type": "pattern",
"en": "How do I get to the station?",
"zh": "去车站怎么走?",
"sceneWord": false,
"match": [
[
"how do i get to",
"how can i get to"
]
],
"example": {
"en": "Yes, I'm lost. How do I get to the museum?",
"zh": "是的,我迷路了。去博物馆怎么走?"
},
"review": {
"prompt": "你想去博物馆,问路人怎么走。"
}
},
{
"id": "A1-U04-W01",
"type": "word",
"en": "station",
"zh": "车站",
"sceneWord": false,
"match": [
[
"station"
]
],
"example": {
"en": "Is there a subway station near here?",
"zh": "这附近有地铁站吗?"
},
"review": {
"prompt": "问火车站在哪里。"
}
},
{
"id": "A1-U04-W02",
"type": "word",
"en": "toilet",
"zh": "洗手间;厕所",
"sceneWord": false,
"match": [
[
"toilet",
"toilets"
]
],
"example": {
"en": "Excuse me. Where is the toilet?",
"zh": "打扰一下,洗手间在哪里?"
},
"review": {
"prompt": "在商场里,问洗手间在哪里。"
}
},
{
"id": "A1-U04-P03",
"type": "phrase",
"en": "I'm lost.",
"zh": "我迷路了。",
"sceneWord": true,
"sceneReason": "lost 在 CEFR-J 为 A2,但说明自己迷路是问路时最先要说的话",
"match": [
[
"lost"
]
],
"example": {
"en": "Sorry, I'm lost. Where is the station?",
"zh": "抱歉,我迷路了。车站在哪里?"
},
"review": {
"prompt": "告诉路人你迷路了。"
}
},
{
"id": "A1-U04-W03",
"type": "word",
"en": "left",
"zh": "左边",
"sceneWord": false,
"match": [
[
"left"
]
],
"example": {
"en": "The bank is on the left.",
"zh": "银行在左边。"
},
"review": {
"prompt": "说“左边”。"
}
},
{
"id": "A1-U04-P04",
"type": "pattern",
"en": "Turn left.",
"zh": "左转。(右转是 Turn right.",
"sceneWord": false,
"match": [
[
"turn left",
"turn right"
]
],
"example": {
"en": "Turn right at the corner.",
"zh": "在拐角处右转。"
},
"review": {
"prompt": "告诉别人在路口右转。"
}
},
{
"id": "A1-U04-P05",
"type": "phrase",
"en": "Go straight.",
"zh": "直走。",
"sceneWord": false,
"match": [
[
"go straight",
"straight on"
]
],
"example": {
"en": "Go straight and turn left.",
"zh": "直走,然后左转。"
},
"review": {
"prompt": "告诉别人一直往前走。"
}
},
{
"id": "A1-U04-P06",
"type": "pattern",
"en": "It's on the left.",
"zh": "在左边。",
"sceneWord": false,
"match": [
[
"on the left",
"on the right",
"on your left",
"on your right"
]
],
"example": {
"en": "The station is on the right.",
"zh": "车站在右边。"
},
"review": {
"prompt": "告诉别人银行在右边。"
}
},
{
"id": "A1-U04-P07",
"type": "pattern",
"en": "It's next to the bank.",
"zh": "在银行旁边。",
"sceneWord": false,
"match": [
[
"next to"
]
],
"example": {
"en": "The station is next to the church.",
"zh": "车站在教堂旁边。"
},
"review": {
"prompt": "告诉别人车站在教堂旁边。"
}
},
{
"id": "A1-U04-P08",
"type": "pattern",
"en": "Is it far?",
"zh": "远吗?",
"sceneWord": true,
"sceneReason": "far 在 CEFR-J 为 A2,但问远不远决定走路还是坐车",
"match": [
[
"far"
]
],
"example": {
"en": "Is the museum far?",
"zh": "博物馆远吗?"
},
"review": {
"prompt": "问路人那个地方远不远。"
}
},
{
"id": "A1-U04-P09",
"type": "pattern",
"en": "It's ten minutes from here.",
"zh": "离这里十分钟。",
"sceneWord": false,
"match": [
[
"minute",
"minutes"
]
],
"example": {
"en": "No, it's not far. It's five minutes from here.",
"zh": "不远,离这里五分钟。"
},
"review": {
"prompt": "告诉别人走过去要五分钟。"
}
},
{
"id": "A1-U04-P10",
"type": "pattern",
"en": "Can you show me on the map?",
"zh": "你能在地图上指给我看吗?",
"sceneWord": false,
"match": [
[
"show me"
]
],
"example": {
"en": "Five minutes. Can you show me on the map?",
"zh": "五分钟。你能在地图上指给我看吗?"
},
"review": {
"prompt": "你听不懂路线,请对方在地图上指给你看。"
}
}
],
"receptiveWords": [
{
"id": "A1-U04-R01",
"en": "street",
"zh": "街道"
},
{
"id": "A1-U04-R02",
"en": "corner",
"zh": "拐角"
},
{
"id": "A1-U04-R03",
"en": "walk",
"zh": "走路"
},
{
"id": "A1-U04-R04",
"en": "bank",
"zh": "银行"
},
{
"id": "A1-U04-R05",
"en": "park",
"zh": "公园"
},
{
"id": "A1-U04-R06",
"en": "museum",
"zh": "博物馆"
},
{
"id": "A1-U04-R07",
"en": "hospital",
"zh": "医院"
},
{
"id": "A1-U04-R08",
"en": "church",
"zh": "教堂"
},
{
"id": "A1-U04-R09",
"en": "supermarket",
"zh": "超市"
},
{
"id": "A1-U04-R10",
"en": "post office",
"zh": "邮局"
},
{
"id": "A1-U04-R11",
"en": "building",
"zh": "大楼"
},
{
"id": "A1-U04-R12",
"en": "bridge",
"zh": "桥"
},
{
"id": "A1-U04-R13",
"en": "city",
"zh": "城市"
},
{
"id": "A1-U04-R14",
"en": "town",
"zh": "小镇;城镇"
},
{
"id": "A1-U04-R15",
"en": "block",
"zh": "街区"
},
{
"id": "A1-U04-R16",
"en": "find",
"zh": "找到"
},
{
"id": "A1-U04-R17",
"en": "end",
"zh": "尽头"
},
{
"id": "A1-U04-R18",
"en": "second",
"zh": "第二"
},
{
"id": "A1-U04-R19",
"en": "traffic light",
"zh": "红绿灯"
},
{
"id": "A1-U04-R20",
"en": "sign",
"zh": "标志;指示牌"
},
{
"id": "A1-U04-R21",
"en": "restaurant",
"zh": "餐厅"
},
{
"id": "A1-U04-R22",
"en": "subway",
"zh": "地铁"
},
{
"id": "A1-U04-R23",
"en": "train",
"zh": "火车"
},
{
"id": "A1-U04-R24",
"en": "library",
"zh": "图书馆"
},
{
"id": "A1-U04-R25",
"en": "river",
"zh": "河"
},
{
"id": "A1-U04-R26",
"en": "garden",
"zh": "花园"
},
{
"id": "A1-U04-R27",
"en": "way",
"zh": "路;方向"
},
{
"id": "A1-U04-R28",
"en": "stop",
"zh": "车站;停"
},
{
"id": "A1-U04-R29",
"en": "come",
"zh": "来"
},
{
"id": "A1-U04-R30",
"en": "cinema",
"zh": "电影院"
}
],
"segments": [
{
"id": "A1-U04-S1",
"title": "问地方在哪里",
"minutes": 12,
"itemIds": [
"A1-U04-P03",
"A1-U04-P01",
"A1-U04-W01",
"A1-U04-W02",
"A1-U04-P02"
],
"listening": {
"text": "Excuse me. I'm lost. Where is the station? The train station? It's on this street. Look, there is the sign.",
"question": "说话的人要找什么地方?",
"options": [
"火车站",
"洗手间",
"银行"
]
},
"speaking": [
{
"text": "Sorry, I'm lost."
},
{
"text": "Excuse me. Where is the station?"
},
{
"text": "Where is the toilet?"
},
{
"text": "How do I get to the museum?",
"tip": "get to 连读,to 读得很轻"
},
{
"text": "Is this the way to the station?"
}
],
"reading": {
"text": "TOWN MAP\nThe train station is next to the bank.\nThe museum is behind the church.\nThe cinema is behind the museum.\nThe toilets are in the park, next to the garden.\nThe library is between the post office and the supermarket.",
"question": "博物馆在哪里?",
"options": [
"behind the church",
"next to the bank",
"in the park"
]
},
"writing": {
"prompt": "你迷路了,写两句话:说自己迷路了,再问车站在哪里。",
"example": "Sorry, I'm lost. Where is the station?",
"itemIds": [
"A1-U04-P03",
"A1-U04-P01",
"A1-U04-W01"
]
},
"independent": {
"prompt": "想一个你今天要去的地方,用英语问它在哪里、怎么去。",
"itemIds": [
"A1-U04-P01",
"A1-U04-P02"
]
}
},
{
"id": "A1-U04-S2",
"title": "左转、右转、直走",
"minutes": 13,
"itemIds": [
"A1-U04-W03",
"A1-U04-P04",
"A1-U04-P05",
"A1-U04-P06",
"A1-U04-P07"
],
"listening": {
"text": "How do I get to the bank? Go straight. Turn left at the traffic lights. The bank is on the right, next to the hospital.",
"question": "银行在哪里?",
"options": [
"右边,医院旁边",
"左边,医院旁边",
"右边,公园旁边"
]
},
"speaking": [
{
"text": "Go straight."
},
{
"text": "Turn left.",
"tip": "left 结尾的 t 要轻轻带出来"
},
{
"text": "Turn right at the corner."
},
{
"text": "It's on the left."
},
{
"text": "It's next to the bank."
}
],
"reading": {
"text": "Mia: Excuse me. How do I get to the supermarket?\nTom: Go straight. Turn right at the second street. You can see a sign.\nMia: Turn right at the second street?\nTom: Yes. The supermarket is on the left, next to the restaurant.",
"question": "超市在哪一边?",
"options": [
"on the left",
"on the right",
"at the second street"
]
},
"writing": {
"prompt": "写出两步指路:先直走,再在拐角左转。",
"example": "Go straight. Turn left at the corner.",
"itemIds": [
"A1-U04-P05",
"A1-U04-P04"
]
},
"independent": {
"prompt": "从你家门口到最近的一家商店,用英语说两三步怎么走,最后说它在左边还是右边。",
"itemIds": [
"A1-U04-P05",
"A1-U04-P04",
"A1-U04-P06"
]
}
},
{
"id": "A1-U04-S3",
"title": "远不远、在地图上指给我看",
"minutes": 11,
"itemIds": [
"A1-U04-P08",
"A1-U04-P09",
"A1-U04-P10"
],
"listening": {
"text": "Is it far? No, it's not far. It's ten minutes from here. You can walk.",
"question": "走过去要多久?",
"options": [
"十分钟",
"五分钟",
"半小时"
]
},
"speaking": [
{
"text": "Is it far?"
},
{
"text": "It's five minutes from here."
},
{
"text": "Can you show me on the map?"
}
],
"reading": {
"text": "Anna: Excuse me. Is the museum far?\nTom: Yes, it's far. It's thirty minutes from here. Don't walk. Take the subway.\nAnna: Can you show me on the map?\nTom: Sure. Come and look. We are here. The subway stop is there, at the end of this street.",
"question": "Tom 建议怎么去博物馆?",
"options": [
"take the subway",
"walk",
"take a bus"
]
},
"writing": {
"prompt": "写一句话问远不远,再请对方在地图上指给你看。",
"example": "Is it far? Can you show me on the map?",
"itemIds": [
"A1-U04-P08",
"A1-U04-P10"
]
},
"independent": {
"prompt": "你在地图上找不到酒店:问怎么去、远不远,再请对方指给你看。",
"itemIds": [
"A1-U04-P02",
"A1-U04-P08",
"A1-U04-P10"
]
}
}
],
"scenes": [
{
"id": "A1-U04-C1",
"kind": "main",
"title": "问去火车站的路",
"learnerRole": "游客",
"aiRole": "路人",
"setting": "你拖着行李找不到火车站,向一位路人问路。",
"turns": [
{
"ai": "Hi. Can I help you?",
"goal": "说迷路了,问火车站在哪里",
"model": "Yes, please. I'm lost. Where is the train station?",
"zh": "是的,谢谢。我迷路了。火车站在哪里?",
"itemIds": [
"A1-U04-P03",
"A1-U04-P01",
"A1-U04-W01"
]
},
{
"ai": "The station? Go straight and turn left at the bridge.",
"goal": "复述确认:直走,然后左转",
"model": "Go straight and turn left?",
"zh": "直走,然后左转?",
"itemIds": [
"A1-U04-P05",
"A1-U04-P04",
"A1-U04-W03"
]
},
{
"ai": "Yes. Then walk two blocks. The station is on the right, next to the church.",
"goal": "确认位置,再问远不远",
"model": "On the right, next to the church. Is it far?",
"zh": "在右边,教堂旁边。远吗?",
"itemIds": [
"A1-U04-P06",
"A1-U04-P07",
"A1-U04-P08"
]
},
{
"ai": "No, it's not far. It's five minutes from here.",
"goal": "确认时间,请对方在地图上指给你看",
"model": "Five minutes. Can you show me on the map?",
"zh": "五分钟。你能在地图上指给我看吗?",
"itemIds": [
"A1-U04-P09",
"A1-U04-P10"
]
},
{
"ai": "Sure. We are here. The station is here.",
"goal": "道谢",
"model": "Great. Thank you very much!",
"zh": "太好了,非常感谢!",
"itemIds": []
}
]
},
{
"id": "A1-U04-C2",
"kind": "variant",
"title": "找洗手间",
"learnerRole": "游客",
"aiRole": "咖啡店店员",
"setting": "你在一家咖啡店附近,急着找洗手间。",
"turns": [
{
"ai": "Hello. Are you okay?",
"goal": "问洗手间在哪里",
"model": "Excuse me. Where is the toilet?",
"zh": "打扰一下,洗手间在哪里?",
"itemIds": [
"A1-U04-P01",
"A1-U04-W02"
]
},
{
"ai": "The toilets are in the building behind the cafe.",
"goal": "问去那栋楼怎么走",
"model": "How do I get to the building?",
"zh": "那栋楼怎么走?",
"itemIds": [
"A1-U04-P02"
]
},
{
"ai": "Go straight. Then turn right at the corner. It's on the left.",
"goal": "复述确认方向",
"model": "Turn right, then on the left?",
"zh": "右转,然后在左边?",
"itemIds": [
"A1-U04-P04",
"A1-U04-P06",
"A1-U04-W03"
]
},
{
"ai": "Yes. It's the second building.",
"goal": "问远不远",
"model": "Is it far?",
"zh": "远吗?",
"itemIds": [
"A1-U04-P08"
]
},
{
"ai": "No. Two minutes.",
"goal": "确认时间并道谢",
"model": "Two minutes. Thanks!",
"zh": "两分钟。谢谢!",
"itemIds": [
"A1-U04-P09"
]
}
]
},
{
"id": "A1-U04-C3",
"kind": "variant",
"title": "去远处的博物馆",
"learnerRole": "游客",
"aiRole": "当地人",
"setting": "你想去城市博物馆,但它离这里很远。",
"turns": [
{
"ai": "Hi there! You look lost. Can I help you find something?",
"goal": "说是的,问去博物馆怎么走",
"model": "Yes, I'm lost. How do I get to the museum?",
"zh": "是的,我迷路了。去博物馆怎么走?",
"itemIds": [
"A1-U04-P03",
"A1-U04-P02"
]
},
{
"ai": "The city museum? It's far. It's forty minutes from here.",
"goal": "问附近有没有地铁站",
"model": "Is there a subway station near here?",
"zh": "这附近有地铁站吗?",
"itemIds": [
"A1-U04-W01"
]
},
{
"ai": "Yes. Go straight. The subway station is next to the park.",
"goal": "确认在公园旁边",
"model": "Next to the park?",
"zh": "在公园旁边?",
"itemIds": [
"A1-U04-P07"
]
},
{
"ai": "Yes, on the left. Then take the subway. The museum stop is number six.",
"goal": "请对方在地图上指出博物馆站",
"model": "Can you show me on the map, please?",
"zh": "你能在地图上指给我看吗?",
"itemIds": [
"A1-U04-P10"
]
},
{
"ai": "Sure. Look, it's here, near the river.",
"goal": "道谢",
"model": "Thank you very much!",
"zh": "非常感谢!",
"itemIds": []
}
]
}
],
"tasks": [
{
"id": "A1-U04-T1",
"sceneId": "A1-U04-C1",
"goal": "说自己迷路,问到火车站的路线,确认左右、位置和距离",
"itemIds": [
"A1-U04-P03",
"A1-U04-P01",
"A1-U04-W01",
"A1-U04-P05",
"A1-U04-P04",
"A1-U04-W03",
"A1-U04-P06",
"A1-U04-P07",
"A1-U04-P08",
"A1-U04-P09",
"A1-U04-P10"
],
"slots": [
"目的地",
"路线",
"距离"
]
},
{
"id": "A1-U04-T2",
"sceneId": "A1-U04-C2",
"goal": "问洗手间在哪里并复述路线",
"itemIds": [
"A1-U04-P01",
"A1-U04-W02",
"A1-U04-P02",
"A1-U04-P04",
"A1-U04-P06",
"A1-U04-W03",
"A1-U04-P08",
"A1-U04-P09"
],
"slots": [
"地点",
"左右"
]
},
{
"id": "A1-U04-T3",
"sceneId": "A1-U04-C3",
"goal": "目的地很远时改问地铁站,并请对方在地图上指出",
"itemIds": [
"A1-U04-P03",
"A1-U04-P02",
"A1-U04-W01",
"A1-U04-P07",
"A1-U04-P10"
],
"slots": [
"目的地",
"交通方式"
]
}
],
"materials": [
{
"id": "A1-U04-M1",
"mode": "listening",
"title": "路人给你指路",
"text": "Excuse me. Do you need help? You look lost. The train station? OK, listen. Go straight down this street. Walk two blocks to the traffic light, then turn left at the bank. The station is at the end of the road, on the right, next to the church. It's not far — about ten minutes on foot. A big supermarket and a post office are near it too. You can see the sign for the subway there. Have a good trip!",
"glosses": {
"luck": "good luck 祝好运",
"trip": "旅行",
"foot": "on foot 步行",
"road": "路",
"big": "大的",
"too": "也"
},
"questions": [
{
"type": "gist",
"question": "这段话在做什么?",
"options": [
"给人指去火车站的路",
"介绍一家餐厅",
"问多少钱"
]
},
{
"type": "detail",
"question": "火车站在什么旁边?",
"options": [
"教堂旁边",
"银行旁边",
"公园旁边"
]
}
]
},
{
"id": "A1-U04-M2",
"mode": "reading",
"title": "读一段对话:问去博物馆的路",
"text": "Anna: Excuse me, how do I get to the museum? I'm lost.\nMan: The museum? Go straight, cross the bridge, and turn right at the corner.\nAnna: Turn right at the corner. Is it far?\nMan: No, it's near — about five minutes. It's the second building on your left, next to the park.\nAnna: Is there a library near the museum too?\nMan: Yes, at the end of the street, near the river and the garden.\nAnna: Can you show me on the map?\nMan: Sure. We are here, in the town center. This is the way to the museum.\nAnna: Great. Is there a restaurant near there?\nMan: Yes, next to the cinema. Thank you, and have a nice day!",
"glosses": {
"cross": "穿过",
"center": "中心",
"man": "男人",
"too": "也"
},
"questions": [
{
"type": "detail",
"question": "去博物馆要在拐角怎么走?",
"options": [
"右转",
"左转",
"一直走"
]
},
{
"type": "detail",
"question": "博物馆离这里远吗?",
"options": [
"不远,大约五分钟",
"很远,要坐车",
"不知道"
]
}
]
}
],
"excluded": [
{
"en": "opposite / across from",
"reason": "A2 方位词,放到 A2 的描述地点单元"
},
{
"en": "north / south / east / west",
"reason": "A2;日常问路很少用方位"
}
]
}