Python+Tkinter制作猜灯谜小游戏

目录
  • 导语
  • 正文
    • 1)效果展示
    • 2)主程序

导语

元宵节,又称上元节、灯节,是春节之后的第一个重要节日。

相传,汉文帝(前179—前157年)为庆祝周勃于正月十五勘平诸吕之乱,每逢此夜,必出宫游玩,与民同乐,在古代,夜同宵,正月又称元月,汉文帝就将正月十五定为元宵节。

随着社会和时代的变迁,元宵节的风俗习惯在不断变化,但至今仍是中国的传统节日。2008年,元宵节选入第二批国家级非物质文化遗产。

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

猜灯谜!猜灯谜!!猜灯谜!!!猜谜事小,展现聪明才智事大哈哈哈.jpg  开个小玩笑啦~

今天小编就给大家写一款猜灯谜的小游戏一起嗨皮叭~

正文

“猜灯谜”是我国元宵节的一项特色活动,最早是由谜语发展而来。谜语悬之于灯,供人猜射,始于南宋。因为谜语能启迪智慧又饶有兴趣,所以深受社会各阶层欢迎。值此佳节,小编也来凑个热闹,出几个灯谜,给您助助兴!看看您能猜出几个?

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))  # 加载图片并调整大小至窗口大小
        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)  # 设置输入框,输入答案
        # 按钮
        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()

到此这篇关于Python+Tkinter制作猜灯谜小游戏的文章就介绍到这了,更多相关Python Tkinter猜灯谜内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python代码实现猜拳小游戏

    本文实例为大家分享了python代码实现猜拳小游戏的具体代码,供大家参考,具体内容如下 游戏实现具体功能 原有的用户登录的信息均能保存在txt文件里,注册的信息也能保存在txt里面 格式如下: 便于之后转换成列表字典形式添加注册数据 用户的猜拳记录也能保存在txt中并以如下格式显示 格式如下: 具体Python代码: #-*- coding=utf8 -*- # @author:sololi # date: 2020/10/24 # 文件说明 : # 123文件存放 用户信息 456 文件存放猜

  • Python实现简单的猜单词

    本文实例为大家分享了Python实现简单猜单词的具体代码,供大家参考,具体内容如下 游戏说明: 由程序随机产生一个单词,打乱该单词字母的排列顺序,玩家猜测原来的单词. 游戏关键点: 1.如何产生一个单词? 2.如何打乱单词字母的排列顺序? 设计思路: 采用了元组(tuple)和random模块. 元组作为单词库,使用random模块随机取一个单词. random模块随机选取字母,对字符串进行切片组合获得乱序单词. 关键点图示: 获得乱序单词,注意观察word.jumble.position的变化

  • 通过Python实现猜灯谜游戏的示例代码

    目录 导语 猜灯谜界面 程序讲解 构造初始界面 构造灯谜类对象 监控鼠标事件 源码 导语 新的一年迎来了元宵节,元宵佳节在陪伴家人的同时,自然也少不了赏花灯,猜灯谜的项目.当然,受到疫情的影响,许多地方今年无法出门赏花灯,猜灯谜. 但是不要紧,小编昨晚用Python弄了一猜灯谜的小程序让大家享受一把猜灯谜乐趣 猜灯谜界面 来看一下猜灯谜的小程序是怎么玩的.先看一下效果图: 程序讲解 构造初始界面 对于程序界面的构造,利用的是python3.6版本下安装2.0.1版本的pygame库.其界面的初始

  • python实现猜单词游戏

    本文实例为大家分享了python实现猜单词游戏的具体代码,供大家参考,具体内容如下 0.效果 1.代码 # 猜单词游戏 import random #添加 WORDS = ("python","juice","easy","difficult","answer","continue","phone","hello","pose"

  • python实现简单猜单词游戏

    本文实例为大家分享了python实现猜单词游戏的具体代码,供大家参考,具体内容如下 电脑根据单词列表随机生成一个单词,打印出这个单词长度个 ' _ ' ,玩家随机输入一个这个单词可能包含的英文字母,如果玩家猜对了,电脑则会在正确的空格处填写这个字母,如果没有猜对,游戏次数就减一.如果玩家在游戏次数减为零前猜对这个单词的所有字母,则玩家获胜,否则玩家输掉比赛. from random import* words = 'tiger lion wolf elephant zebra ducksheep

  • python实现猜拳游戏项目

    本文实例为大家分享了python实现猜拳游戏的具体代码,供大家参考,具体内容如下 项目功能: 1.系统生成随机的石头剪刀布,玩家输入石头剪刀布 2.因为玩家可能会输入shitou st这样的输入,需要格式化成合理输入 3.进行石头剪刀布的游戏,输出游戏结果,假设每次可以玩5局 4.将游戏结果写入到excel中,包括系统出拳,玩家出拳,游戏结果,目前得分 5.游戏有欢迎信息(欢迎来到游戏)和用户交互(游戏剩余次数) 6.如果游戏的得分达到0分,游戏也会结束 7.在开始游戏的时候要求用户输入玩家姓名

  • Python实现简单猜数字游戏

    本文实例为大家分享了Python实现简单猜数字游戏的具体代码,供大家参考,具体内容如下 一.需求分析 编写一个猜数字游戏,游戏规则:计算机给出一个1-20的之间的随机数字,让玩家来猜猜它是几,计算机会告诉你每次猜出的数字或大或小,如在6次内猜到正确数字,即赢了. 二.编写思路 1.首先导入random随机模块 ,然后定义随机数的范围,然后定义次数. 2.使用while循环来判断是否符合随机数和输入数值的比较,并且设置次数递减 3.使用 isdigit 函数来完成判断玩家数据类型,避免报错. 4.

  • Python+Tkinter制作猜灯谜小游戏

    目录 导语 正文 1)效果展示 2)主程序 导语 元宵节,又称上元节.灯节,是春节之后的第一个重要节日. 相传,汉文帝(前179—前157年)为庆祝周勃于正月十五勘平诸吕之乱,每逢此夜,必出宫游玩,与民同乐,在古代,夜同宵,正月又称元月,汉文帝就将正月十五定为元宵节. 随着社会和时代的变迁,元宵节的风俗习惯在不断变化,但至今仍是中国的传统节日.2008年,元宵节选入第二批国家级非物质文化遗产. 对我而言,除了吃元宵.看花灯……还有一件最重要的事情…就是… 猜灯谜!猜灯谜!!猜灯谜!!!猜谜事小,

  • python实现简易猜数小游戏

    目录 程序思想: 具体代码: 近几天闲着没事开始学了些python,看了看之前写过的代码,把写过的基础的几个程序写进博客,今天是第一个.一个可以说简单的不能再简单的小程序——猜数. 系统随机生成一个1至100的整数,用户有10次机会来猜测,每次猜完后有大小提示. 程序思想: #猜数游戏 import random 整型计数变量1=1 print(f'猜数游戏,10次机会,加油!!') while True 生成一个1至100的随机数 while 计数变量1<=10: 用户输入猜想的数 if 猜想

  • Python+Turtle制作海龟迷宫小游戏

    目录 导语 一.简介 1.什么是Turtle 2.怎么玩转Turtle 3.画布的设置 4.设置背景/画布颜色 二.Turtle的画笔设置 1.turtle绘图的基本方法 三.最后的案例Turtle小游戏 1.设计思路游戏规则 2.准备环节 3.正式敲代码 四.效果图 1.运行代码 2.关卡一 3.关卡二 4.关卡三 导语 哈喽!大家好!我是木木子~ 纵观之前的文章——我发现了一个特点,很多小伙伴儿都喜欢学习Turtle或游戏代码,没错吧~ 那今天这篇文章就是为这2方面的小伙伴儿精心准备滴!Tu

  • 基于PyQt5制作一个猜数字小游戏

    开始之前,直接来看一下实现后的效果.想自己实现或者需要源码的童鞋直接进场... 将PyQt5的相关模块直接导入即可. from PyQt5.QtGui import * from PyQt5.QtCore import * from PyQt5.QtWidgets import * 为了照顾一下新关注的童鞋,这里介绍一下PyQt5的安装,还是采用pip的安装方式. pip install PyQt5 将准备好的样式导入到代码块中. # 主题样式模块引用 from QCandyUi import

  • python编写猜数字小游戏

    本文实例为大家分享了python编写猜数字小游戏的具体代码,供大家参考,具体内容如下 import random secret = random.randint(1, 30) guess = 0 tries = 0 print("我叫丁丁,我有一个秘密数字!") print("数字从1到30,你只有6次机会!") while int(guess) != secret and tries < 6: print("你猜的数字是?") guess

  • Python tkinter制作单机五子棋游戏

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 以下文章来源于Python家庭,作者Python家庭 实战项目:使用Python编写一个能够完成基本对战的五子棋游戏.面向新手. 程序主要包括两个部分,图形创建与逻辑编写两部分. 程序的运行结果: 样式创建 老规矩,先把用到的包导入进来. from tkinter import * import math 然后建立一个样式的类,类名称chessBoard.这里加了很多注释,避免

  • Python实现简单的猜单词小游戏

    本文实例为大家分享了Python实现猜单词小游戏的具体代码,供大家参考,具体内容如下 思路 1.一个words列表里存放若干的单词,例如:["extends", "private", "static", "public"] 2.在words列表里随机取出一个单词放进word列表,例如: 3.用一个tips列表存放提示信息,长度跟随机取出来的单词长度相同,而且初始化如下图: 4.一个列表放随机数,长度跟随机取出来的单词长度相同的

  • python猜数字小游戏实现代码

    教大家做一个简易的猜数字的游戏,但确实蛮简单的,我这个四年级的小盆友也才学了一天,所以给那些不会的教一下. 我们先来看导入模块: """ 简易python猜数小游戏""" import random import time #导入模块 我们导入了两个模块: random随机数 time时间 接着命名变量: b = 20 #最大值 a = random.randint(0, b) #要猜的数在最大值和0之间 t = 1 #设立关数变量 f = 10

  • 详解如何利用Python制作24点小游戏

    目录 先睹为快 游戏规则(改编自维基百科) 逐步实现 Step1:制作24点生成器 Step2:定义游戏精灵类 Step3:实现游戏主循环 先睹为快 24点 游戏规则(改编自维基百科) 从1~10这十个数字中随机抽取4个数字(可重复),对这四个数运用加.减.乘.除和括号进行运算得出24.每个数字都必须使用一次,但不能重复使用. 逐步实现 Step1:制作24点生成器 既然是24点小游戏,当然要先定义一个24点游戏生成器啦.主要思路就是随机生成4个有解的数字,且范围在1~10之间,代码实现如下:

  • Python+Tkinter制作股票数据抓取小程序

    目录 程序布局 抓取与保存功能 添加功能 个股查询按钮 批量查询开关 在前面的文章中,我们一起学习了如何通过 Python 抓取东方财富网的实时股票数据,链接如下 用 Python 爬取股票实时数据 今天我们就在这个基础上,实现一个 Tkinter GUI 程序,完成无代码股票抓取! 首先对于 Tkinter 相信大家都是比较了解的,如果有小伙伴对于 Tkinter 的相关用法不是特别熟悉的话,可以看如下文章 Tkinter 入门之旅 首先我们先看一下 GUI 程序的最终效果 该程序共分三个区域

随机推荐