import tkinter as tk
from tkinter import messagebox
import random

class WordApp:
    def __init__(self, root):
        self.root = root
        self.root.title("Python 极简背单词小程序")
        self.root.geometry("450x350")
        self.root.resizable(False, False)

        # 1. 内置一个小型测试词库 (你可以随时替换或扩充)
        self.word_bank = [
            {"word": "apple", "meaning": "n. 苹果"},
            {"word": "banana", "meaning": "n. 香蕉"},
            {"word": "computer", "meaning": "n. 电脑，计算机"},
            {"word": "python", "meaning": "n. 蟒蛇；Python编程语言"},
            {"word": "algorithm", "meaning": "n. 算法"},
            {"word": "interface", "meaning": "n. 界面，接口"},
            {"word": "variable", "meaning": "n. 变量"},
            {"word": "memory", "meaning": "n. 记忆，内存"}
        ]
        
        self.current_word = None

        # 2. 界面布局
        # 中文提示区
        tk.Label(root, text="请根据以下中文意思，拼写出英文单词：", font=("Arial", 10)).pack(pady=(20, 5))
        self.meaning_label = tk.Label(root, text="", font=("Arial", 20, "bold"), fg="#333333")
        self.meaning_label.pack(pady=10)

        # 输入框
        self.entry = tk.Entry(root, font=("Arial", 16), justify="center")
        self.entry.pack(pady=10, padx=40, fill="x")
        # 绑定回车键，方便快速提交
        self.root.bind("<Return>", lambda event: self.check_answer())

        # 按钮区
        btn_frame = tk.Frame(root)
        btn_frame.pack(pady=15)
        tk.Button(btn_frame, text="✅ 检查答案", font=("Arial", 10), command=self.check_answer, width=12).pack(side="left", padx=10)
        tk.Button(btn_frame, text="🔄 下一个词", font=("Arial", 10), command=self.next_word, width=12).pack(side="left", padx=10)

        # 反馈提示区
        self.feedback_label = tk.Label(root, text="", font=("Arial", 12))
        self.feedback_label.pack(pady=10)

        # 启动时加载第一个单词
        self.next_word()

    def next_word(self):
        """随机抽取下一个单词并更新界面"""
        self.current_word = random.choice(self.word_bank)
        self.meaning_label.config(text=self.current_word["meaning"])
        self.entry.delete(0, tk.END)
        self.feedback_label.config(text="")
        self.entry.focus_set()  # 自动聚焦到输入框

    def check_answer(self):
        """检查用户输入的答案"""
        user_input = self.entry.get().strip().lower()
        correct_word = self.current_word["word"].lower()

        if not user_input:
            self.feedback_label.config(text="⚠️ 请先输入单词哦！", fg="orange")
            return

        if user_input == correct_word:
            self.feedback_label.config(text="🎉 回答正确！太棒了！", fg="green")
        else:
            self.feedback_label.config(text=f"❌ 答错啦！正确答案是: {correct_word}", fg="red")

if __name__ == "__main__":
    root = tk.Tk()
    app = WordApp(root)
    root.mainloop()