欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python+Tkinter制作猜燈謎小游戲

 更新時間:2022年02月16日 09:18:38   作者:顧木子吖  
元宵節(jié),又稱上元節(jié)、燈節(jié),是春節(jié)之后的第一個重要節(jié)日。而元宵節(jié)除了吃元宵、看花燈,還有一件最重要的事情就是猜燈謎!因此本文將通過Python Tkinter制作一個猜燈謎小游戲,感興趣的小伙伴可以了解一下

導(dǎo)語

元宵節(jié),又稱上元節(jié)、燈節(jié),是春節(jié)之后的第一個重要節(jié)日。

相傳,漢文帝(前179—前157年)為慶祝周勃于正月十五勘平諸呂之亂,每逢此夜,必出宮游玩,與民同樂,在古代,夜同宵,正月又稱元月,漢文帝就將正月十五定為元宵節(jié)。

隨著社會和時代的變遷,元宵節(jié)的風(fēng)俗習(xí)慣在不斷變化,但至今仍是中國的傳統(tǒng)節(jié)日。2008年,元宵節(jié)選入第二批國家級非物質(zhì)文化遺產(chǎn)。

對我而言,除了吃元宵、看花燈……還有一件最重要的事情…就是…

猜燈謎!猜燈謎!!猜燈謎?。?!猜謎事小,展現(xiàn)聰明才智事大哈哈哈.jpg  開個小玩笑啦~

今天小編就給大家寫一款猜燈謎的小游戲一起嗨皮叭~

正文

“猜燈謎”是我國元宵節(jié)的一項特色活動,最早是由謎語發(fā)展而來。謎語懸之于燈,供人猜射,始于南宋。因為謎語能啟迪智慧又饒有興趣,所以深受社會各階層歡迎。值此佳節(jié),小編也來湊個熱鬧,出幾個燈謎,給您助助興!看看您能猜出幾個?

1)效果展示

猜燈謎界面——

提醒功能——

回答正確——

2)主程序

from tkinter import messagebox
from PIL import Image, ImageTk
import random
import csv
import tkinter as tk
 
 
 
class LanternRiddles(object):
    def __init__(self):
        self.root = tk.Tk()
        self.root.title("猜燈謎鬧元宵")
        self.root.geometry("1200x500")
        self.root.geometry("+100+150")
        self.data = []
        with open('new_data.csv', 'r') as f:
            reader = csv.reader(f)
            for row in reader:
                self.data.append(row)
        self.index = [i for i in range(len(self.data))]
        random.shuffle(self.index)
 
        # 做成背景的裝飾
        pic1 = Image.open('pic/bg.jpg').resize((1200, 500))  # 加載圖片并調(diào)整大小至窗口大小
        pic = ImageTk.PhotoImage(pic1)
        render = tk.Label(self.root, image=pic, compound=tk.CENTER, justify=tk.LEFT)
        render.place(x=0, y=0)
 
        # 標簽 and 輸入框
        label = tk.Label(self.root, text='輸入答案', font=('微軟雅黑', 15), fg='black', bg="Magenta")
        label.place(x=0, y=10, width=100, height=40)
        self.entry = tk.Entry(self.root, font=('宋體', 15), width=15, bg="GhostWhite")
        self.entry.place(x=110, y=10, width=150, height=40)  # 設(shè)置輸入框,輸入答案
        # 按鈕
        confirm_button = tk.Button(self.root, text='確認', font=('微軟雅黑', 15), bg="LightGreen", command=self.check)
        confirm_button.place(x=270, y=10, width=100, height=40)  # 確定按鈕
 
        quit_button = tk.Button(self.root, text='退出軟件', font=('微軟雅黑', 15), bg="LightGreen", command=self.quit)
        quit_button.place(x=800, y=10, width=100, height=40)  # 退出軟件
        start_button = tk.Button(self.root, text='開始答題', font=('微軟雅黑', 15), bg="LightGreen", command=self.get_next)
        start_button.place(x=0, y=80, width=100, height=40)  # 更換題目
        prompt_button = tk.Button(self.root, text='顯示提示', font=('微軟雅黑', 15), bg="LightGreen", command=self.show_prompt)
        prompt_button.place(x=650, y=10, width=100, height=40)  # 更換題目
 
        self.riddle = tk.Text(self.root, bg="OrangeRed", fg="dimgray",  font=('微軟雅黑', 15))
        self.riddle.place(x=200, y=180, width=300, height=160)  # 顯示題目
 
        self.root.mainloop()
 
    def get_next(self):  # 更換題目
        self.riddle.delete('1.0', 'end')  # 清空顯示
        index = random.choice(self.index)
        self.index.remove(index)
        self.question = self.data[index][0]
        self.answer = self.data[index][1]
        self.prompt = self.data[index][2]
        self.riddle.insert(tk.END, self.question)
 
    def check(self):  # 驗證答案
        reply = self.entry.get()
        if reply in self.answer:
            messagebox.showinfo('提示', '回答正確')
            self.get_next()
            self.entry.delete(0, tk.END)
        else:
            messagebox.showinfo('提示', '回答錯誤,請重試')
            self.entry.delete(0, tk.END)
 
    def show_prompt(self):  # 顯示提示
        messagebox.showinfo('提示', self.prompt)
 
    def quit(self):
        self.root.destroy()
 
 
if __name__ == '__main__':
    LanternRiddles()

到此這篇關(guān)于Python+Tkinter制作猜燈謎小游戲的文章就介紹到這了,更多相關(guān)Python Tkinter猜燈謎內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論