import tkinter as tk
from tkinter import ttk
import random

# 谜语&脑筋急转弯题库（总计112条）
question_list = [
    {"q": "什么东西越洗越脏？", "a": "水"},
    {"q": "什么路人们最不敢走？", "a": "绝路"},
    {"q": "什么球不能踢？", "a": "眼球"},
    {"q": "什么动物最容易摔倒？", "a": "狐狸，因为狐狸很狡猾（脚滑）"},
    {"q": "什么书不可能在书店里买到？", "a": "秘书"},
    {"q": "一年四季都盛开的花是什么花？", "a": "塑料花"},
    {"q": "什么东西打破了才能用？", "a": "鸡蛋"},
    {"q": "什么人始终不敢洗澡？", "a": "泥人"},
    {"q": "什么车子寸步难行？", "a": "风车"},
    {"q": "什么酒不能喝？", "a": "碘酒"},
    {"q": "冬瓜、黄瓜、西瓜、南瓜都能吃，什么瓜不能吃？", "a": "傻瓜"},
    {"q": "什么东西有五个头，但大家不觉得奇怪？", "a": "手和脚"},
    {"q": "什么门永远关不上？", "a": "球门"},
    {"q": "打什么东西毫不费力？", "a": "打瞌睡"},
    {"q": "什么水永远用不完？", "a": "泪水"},
    {"q": "什么布剪不断？", "a": "瀑布"},
    {"q": "太平洋的中间是什么？", "a": "是平字"},
    {"q": "用椰子和西瓜打头哪一个比较痛？", "a": "头比较痛"},
    {"q": "偷什么东西不犯法？", "a": "偷笑"},
    {"q": "什么牛不会吃草？", "a": "蜗牛"},
    {"q": "什么纸买不起？", "a": "圣旨（纸）"},
    {"q": "什么马不会跑？", "a": "木马"},
    {"q": "什么鱼最聪明？", "a": "鲸（精）鱼"},
    {"q": "小白加小白等于什么？", "a": "小白兔（two）"},
    {"q": "狼来了，猜一个水果？", "a": "杨桃（羊逃）"},
    {"q": "布和纸最怕什么？", "a": "不（布）怕一万，只（纸）怕万一"},
    {"q": "铅笔姓什么？", "a": "萧，削（萧）铅笔"},
    {"q": "麒麟到了北极会变成什么？", "a": "冰淇淋（冰麒麟）"},
    {"q": "从1到9哪个数字最勤劳，哪个最懒惰？", "a": "1懒惰2勤劳，一不做二不休"},
    {"q": "怎样使麻雀安静下来？", "a": "压它一下，鸦雀无声（压雀无声）"},
    {"q": "小白、小黄、小蓝搭车，谁会晕车？", "a": "小白，小白吐（小白兔）"},
    {"q": "历史上哪个人跑的最快？", "a": "曹操，说曹操曹操到"},
    {"q": "什么动物最喜欢贴在墙上？", "a": "海豹（海报）"},
    {"q": "一颗心值多少钱？", "a": "一亿，一心一意（亿）"},
    {"q": "要想把梦变成现实，第一件事该干什么？", "a": "起床"},
    {"q": "早晨醒来每个人做的第一件事是什么？", "a": "睁开眼睛"},
    {"q": "什么东西越生气，它就越大？", "a": "脾气"},
    {"q": "有一样东西，你只能用左手拿它，右手拿不到，是什么？", "a": "右手"},
    {"q": "黑人为什么喜欢吃白色巧克力？", "a": "怕咬到自己手指"},
    {"q": "世界上最小的岛是什么？", "a": "马路上的安全岛"},
    {"q": "把一只鸡和一只鹅同时放进冰箱，鸡冻死了鹅没事，为什么？", "a": "是企鹅"},
    {"q": "为什么自由女神像老站在纽约港？", "a": "因为她坐不下去"},
    {"q": "什么动物你打死了它，却流了你的血？", "a": "蚊子"},
    {"q": "什么东西当你说到它的名字，就把它打破了？", "a": "沉默"},
    {"q": "放大镜不能放大的东西是什么？", "a": "角度"},
    {"q": "什么东西倒立后会增加一半？", "a": "数字6"},
    {"q": "什么东西人们都不喜欢吃？", "a": "吃亏"},
    {"q": "从来没见过的爷爷他是什么爷爷？", "a": "老天爷"},
    {"q": "什么东西没吃的时候是绿的，吃的时候是红的，吐出来是黑的？", "a": "西瓜"},
    {"q": "什么动物天天熬夜？", "a": "熊猫，黑眼圈很重"},
    {"q": "什么东西有四条腿却不能走路？", "a": "桌子"},
    {"q": "什么光会给人带来痛苦？", "a": "耳光"},
    {"q": "什么球离你最近？", "a": "眼球"},
    {"q": "什么枪把人打跑却不伤人？", "a": "发令枪"},
    {"q": "什么桶永远装不满？", "a": "马桶"},
    {"q": "什么书谁也没见过？", "a": "天书"},
    {"q": "什么洞最深？", "a": "无底洞"},
    {"q": "什么帽不能戴？", "a": "螺丝帽"},
    {"q": "什么剑是透明的？", "a": "看不见"},
    {"q": "什么鸟不会飞？", "a": "鸵鸟"},
    {"q": "什么水不能喝？", "a": "薪水"},
    {"q": "什么风最厉害？", "a": "枕边风"},
    {"q": "什么线剪不断？", "a": "光线"},
    {"q": "什么船从来不下水？", "a": "宇宙飞船"},
    {"q": "什么猫不吃鱼？", "a": "熊猫"},
    {"q": "什么虎不吃人？", "a": "壁虎"},
    {"q": "什么牛不耕田？", "a": "犀牛"},
    {"q": "什么鸡没有翅膀？", "a": "田鸡"},
    {"q": "什么羊不吃草？", "a": "替罪羊"},
    {"q": "什么豹不吃肉？", "a": "雪豹（海报玩笑版：猎豹玩偶，标准答案：纸豹）"},
    {"q": "晚上有一只凶猛的狼来到小明家门口，为什么它没有进来？", "a": "门关上了"},
    {"q": "人为什么要走去床上睡觉？", "a": "床不会自己走过来"},
    {"q": "两对父子去买帽子，为什么只买了三顶？", "a": "三代人：爷爷、爸爸、儿子"},
    {"q": "什么情况下一山可容二虎？", "a": "一公一母"},
    {"q": "大象的左耳朵像什么？", "a": "右耳朵"},
    {"q": "为什么大雁秋天要飞到南方去？", "a": "走过去太慢了"},
    {"q": "为什么老王养的马能吃掉老张的象？", "a": "他们在下象棋"},
    {"q": "什么情况下0大于2，2大于5？", "a": "石头剪刀布"},
    {"q": "闭着眼睛也看得见的是什么？", "a": "梦"},
    {"q": "一年四季不落叶的树是什么树？", "a": "画里的树"},
    {"q": "谁最喜欢伸出援手？", "a": "哆啦A梦，伸手不见五指"},
    {"q": "哪个卡通人物最乐于助人？", "a": "小叮当（哆啦A梦）"},
    {"q": "医生给你三颗药，半小时吃一颗，多久吃完？", "a": "一小时"},
    {"q": "房间里有十根蜡烛，吹灭三根，最后剩几根？", "a": "三根，其余烧完了"},
    {"q": "一头公牛加一头母牛，打三个字？", "a": "两头牛"},
    {"q": "什么东西买来的时候是白胡子，用完变成黑胡子？", "a": "毛笔"},
    {"q": "弯弯藤儿架上爬，串串珍珠上边挂。打一水果？", "a": "葡萄"},
    {"q": "红口袋，绿口袋，有人害怕有人爱。打一蔬菜？", "a": "辣椒"},
    {"q": "弯弯像小船，身穿黄衣裳，果肉甜又软。打一水果？", "a": "香蕉"},
    {"q": "头戴红帽子，身披五彩衣，从来不唱戏，喜欢吊嗓子。打一动物？", "a": "公鸡"},
    {"q": "小小诸葛亮，独坐中军帐，摆下八卦阵，专捉飞来将。打一动物？", "a": "蜘蛛"},
    {"q": "远看像座山，近看不是山，上边水直流，下边有人走。打一物？", "a": "雨伞"},
    {"q": "有面没有口，有脚没有手，虽有四只脚，自己不会走。打家具？", "a": "桌子"},
    {"q": "千条线，万条线，落到水里看不见。打自然现象？", "a": "下雨"},
    {"q": "看不见摸不着，跑得快，又没脚，一去永远不回头。打名词？", "a": "时间"},
    {"q": "什么人一年只上一天班？", "a": "圣诞老人"},
    {"q": "圣诞老人为什么爬烟囱？", "a": "因为门被锁住了"},
    {"q": "什么交通工具速度越慢越让人恐惧？", "a": "正在飞行的飞机"},
    {"q": "为什么游泳比赛中青蛙输给了狗？", "a": "比赛禁止蛙泳"},
    {"q": "为什么大部分佛教徒都住在北半球？", "a": "南无阿弥陀佛"},
    {"q": "小白长得很像他哥哥，打一个成语？", "a": "真相大白"},
    {"q": "什么成语形容世界上最小的邮筒？", "a": "难以置信"},
    {"q": "蜜蜂停在日历上，打一成语？", "a": "风和日丽（蜂和日历）"},
    {"q": "为什么梨子是温度最高的水果？", "a": "梨子（离子）烫"},
    {"q": "什么动物最没有方向感？", "a": "麋鹿（迷路）"},
    {"q": "土豆捅了包子致命一刀，打一食物？", "a": "豆沙（豆杀）包"},
    {"q": "巧克力和西红柿打架，巧克力赢了，打一零食？", "a": "巧克力棒"},
    {"q": "小白鼠和小黑鼠赛跑，小白鼠赢了，打一成语？", "a": "黑白分明"},
    {"q": "什么地方的用户最喜欢关机？", "a": "宁波，对不起，您拨（宁波）的用户已关机"},
    {"q": "为什么蚕宝宝很有钱？", "a": "蚕会结茧（节俭）"},
    {"q": "一只公鸡加一只母鸡，猜五个字？", "a": "还是两只鸡"},
    {"q": "什么动物最节俭？", "a": "蚕，结茧（节俭）"},
    {"q": "什么数字最听话？", "a": "100，百依百顺"},
    {"q": "什么动物最容易被贴在墙上？", "a": "海豹（海报）"},
    {"q": "什么职业整天到处奔波？", "a": "邮递员"},
    {"q": "什么东西越晒越湿？", "a": "汗水"},
    {"q": "什么东西有嘴不说话，有床不睡觉？", "a": "河流（河床）"},
]

class RiddleApp:
    def __init__(self, root):
        self.root = root
        self.root.title("随机脑筋急转弯&谜语")
        self.root.geometry("560x360")
        self.root.resizable(False, False)

        # 当前题目
        self.current = None

        # 界面组件
        main_frame = ttk.Frame(root, padding=22)
        main_frame.pack(fill=tk.BOTH, expand=True)

        # 题目文本框
        self.question_label = tk.Label(
            main_frame,
            text="点击【下一题】开始游戏",
            wraplength=500,
            font=("微软雅黑", 14),
            justify="left"
        )
        self.question_label.pack(pady=12, fill=tk.X)

        # 答案文本框
        self.answer_label = tk.Label(
            main_frame,
            text="答案：？？？",
            wraplength=500,
            font=("微软雅黑", 13),
            fg="#c82423",
            justify="left"
        )
        self.answer_label.pack(pady=18, fill=tk.X)

        # 按钮容器
        btn_frame = ttk.Frame(main_frame)
        btn_frame.pack(pady=12)

        ttk.Button(btn_frame, text="下一题", command=self.next_question).grid(row=0, column=0, padx=10)
        ttk.Button(btn_frame, text="显示答案", command=self.show_answer).grid(row=0, column=1, padx=10)

    def next_question(self):
        # 随机抽取一题
        self.current = random.choice(question_list)
        self.question_label.config(text=f"题目：{self.current['q']}")
        self.answer_label.config(text="答案：？？？")

    def show_answer(self):
        if self.current is None:
            return
        self.answer_label.config(text=f"答案：{self.current['a']}")

if __name__ == "__main__":
    window = tk.Tk()
    app = RiddleApp(window)
    window.mainloop()