
# 修改后的剧本重新检查

# ===== 上次指出的4处拼写/语法错误 =====
print("=" * 60)
print("上次指出的4处修正检查")
print("=" * 60)

fixes = {
    "pool → poor": ("Oh... poor Bingo...", True),
    "Wires → wires": ("We need wires.", True),
    "We all done → We're all done": ("We're all done! Let's charge him!", True),
    "Humm → Hmm": None,  # 需要检查
}

for issue, fix in fixes.items():
    if fix is True or (fix and fix[1]):
        print(f"✅ {issue}: 已修正")
    else:
        print(f"❌ {issue}: 未修正")

# Humm单独检查
print("⚠️ Humm → Hmm: 未修正（仍为 'Humm...'）")

# ===== 上次指出的结构问题 =====
print("\n" + "=" * 60)
print("上次指出的结构问题检查")
print("=" * 60)

# 1. We can use 缺NPC输入
# 检查Jay新台词: "Sure! We can use potato chargers to help him."
print("✅ We can use NPC输入: Jay说了 'Sure! We can use potato chargers to help him.' (行61位置)")
print("   → User首次输出We can use在行76，顺序正确")

# 2. 行53-55连续互动
print("ℹ️ 行53-55连续互动: 未调整（仅隔1行TL 'What?'），节奏仍偏紧，但不影响达标")

# ===== 全量知识点输出重新统计 =====
print("\n" + "=" * 60)
print("知识点输出统计（仅中互动行）")
print("=" * 60)

interactions_v2 = [
    (21, "Wow! Eighty is a lot!"),
    (53, "Can you help Bingo?"),
    (55, "Maybe Bingo can use potato power!"),
    (63, "I can help to make it!"),
    (68, "Wow! That helps a lot!"),
    (76, "Oh, We can use these boxes for the potatoes!"),
    (79, "There are seventy potatoes!"),
    (98, "Aha! We can use ladder!"),
    (105, "Oh, There are eighty chips in total!"),
    (108, "That helps a lot!"),
    (128, "Let me help you!"),
    (141, "It's at seventy!"),
    (146, "Wow! It's at eighty!"),
    (171, "That helps a lot, Bingo!"),
]

kps = ['seventy', 'eighty', 'help', 'use', 'We can use', 'That helps a lot']

for kp in kps:
    count = 0
    for line_no, text in interactions_v2:
        if kp.lower() in text.lower():
            count += 1
    status = "✅" if count >= 2 else "⚠️"
    print(f"  {kp}: {count}次 {status}")

print(f"\n中互动总数: {len(interactions_v2)}个 + 1个核心互动")

# ===== 输入→输出顺序 =====
print("\n" + "=" * 60)
print("输入→输出顺序检查")
print("=" * 60)

order_checks = {
    'seventy': (29, 79, "Lin: So he took seventy!", "User: There are seventy potatoes!"),
    'eighty': (20, 21, "Jay: ...We only made eighty Vala coins...", "User: Wow! Eighty is a lot!"),
    'help': (43, 53, "Jay: Potato can help Eleven!", "User: Can you help Bingo?"),
    'use': (45, 55, "Lin: Eleven can only use potato power now.", "User: Maybe Bingo can use potato power!"),
    'We can use': (61, 76, "Jay: Sure! We can use potato chargers to help him.", "User: We can use these boxes..."),
    'That helps a lot': (49, 68, "Lin: That helps a lot for Eleven.", "User: Wow! That helps a lot!"),
}

for kp, (in_line, out_line, in_text, out_text) in order_checks.items():
    if out_line > in_line:
        print(f"✅ {kp}: 输入(行{in_line}) → 输出(行{out_line})")
    else:
        print(f"❌ {kp}: 输出(行{out_line})在输入(行{in_line})之前！")

# ===== 连续互动检查 =====
print("\n" + "=" * 60)
print("连续互动检查（相邻互动行之间是否有足够间隔）")
print("=" * 60)

interact_lines_v2 = [21, 53, 55, 63, 68, 76, 79, 98, 105, 108, 128, 141, 146, 171]

for i in range(len(interact_lines_v2)-1):
    gap = interact_lines_v2[i+1] - interact_lines_v2[i]
    if gap <= 2:
        print(f"⚠️ 行{interact_lines_v2[i]}→行{interact_lines_v2[i+1]}: 间隔仅{gap}行")

# ===== 残留拼写检查 =====
print("\n" + "=" * 60)
print("残留拼写/语法问题")
print("=" * 60)

remaining = [
    (175, "User", "Humm... I don't know if Vicky found a way…", "Humm → Hmm"),
]

for line_no, char, text, issue in remaining:
    print(f"⚠️ 行{line_no} ({char}): {issue} → {text}")

