Tkinter:创建一个小游戏并可视化结果
Tkinter:创建一个小游戏并可视化结果介绍图形用户界面(GUI)是为用户交互提供灵活性的界面。它的交互性使我着迷。应用程序越吸引人,游戏开发就越好。GUI的最常见组件是主窗口,
介绍
图形用户界面(GUI)是为用户交互提供灵活性的界面。它的交互性使我着迷。应用程序越吸引人,游戏开发就越好。GUI的最常见组件是主窗口,按钮,文本输入,标签,菜单等。在Python中进行GUI开发的最常见选项是Tkinter,wxPython和JPython。我们将在本文中讨论Tkinter,创建一个小游戏并可视化结果。
Tkinter概述
Python提供了一个名为Tkinter的标准GUI库。Tkinter模块有助于快速简便地创建GUI应用程序。Tkinter提供了15种类型的小部件。一些常见的按钮,标签,框架,菜单。消息,单选按钮,文本,滚动条等。在本文中,我们将创建一个小游戏。用户将持续获得数字问题。他们将回答并单击Enter进入下一个问题,直到他们决定退出并处理结果。正确和不正确的答案将被捕获,以在最后显示结果。我们将使用标签,结束,条目,文本,按钮之类的小部件。事不宜迟,让我们开始实施吧!
执行
1.导包
将所有包分开导入是个好习惯。import tkinter
import random
from random import randint
from tkinter import Button
import matplotlib.pyplot as plt
import numpy as np
2.创建一个GUI窗口和全局变量声明
我们将创建界面布局。确定版面大小和一个引人注目的标题root = tkinter.Tk()
root.title("Are you smart!!")
root.geometry("400x200")
correct_result=0
correct_answers=0
total_questions=0
incorrect_answer=0
3.评估结果的函数
我们将创建一个小小的函数定义以完成使代码易于维护和易于阅读的任务def evaluate(event):
global correct_result
global user_input
user_input_given = user_input.get()
if str(user_input_given) == str(correct_result):
global correct_answers
correct_answers += 1
nextQuestion()
else:
global incorrect_answer
incorrect_answer += 1
result = tkinter.Label(root, text="Hard Luck!!nThe correct answer is : "+str(correct_result), font=('Helvetica', 10))
result.pack()
nextQuestion()
root.after(1500, result.destroy)
4.创建问题的函数
我们将使用random来创建随机整数,并为'+','-'和'*'运算符创建随机选择,以便用户可以获取随机的数字问题集来回答def nextQuestion():
user_input.focus_set()
user_input.delete(0, tkinter.END)
global first_num
first_num = randint(1,15)
global second_num
second_num = randint(1,15)
global character
character = random.choice("+-*")
global correct_result
if character == '*':
correct_result = first_num*second_num
if character == '+':
correct_result = first_num+second_num
if character == '-':
correct_result = first_num-second_num
text="Enter the value of "+str(first_num)+" "+character+" "+str(second_num)
global total_questions
total_questions += 1
user_question.config(text=text)
user_question.pack()
5.退出函数
我们将创建一个微型函数以退出并记录结果def exitThis():
print("Total Questions attended : "+str(total_questions))
print("Total Correct Answers : "+str(correct_answers))
print("Total Incorrect Answers : "+str(incorrect_answer))
root.destroy()
6.最初的问题
我们将基于随机整数和数字运算符的随机集合创建问题的初始集合first_num = randint(1,15)
second_num = randint(1,15)
character = random.choice("+-*")
if character == '*':
correct_result = first_num*second_num
if character == '+':
correct_result = first_num+second_num
if character == '-':
correct_result = first_num-second_num
7.标签创建
我们将创建界面的文本和布局user_question = tkinter.Label(root, text="Enter the value of "+str(first_num)+" "+character+" "+str(second_num), font=('Helvetica', 10))
user_question.pack()
user_input = tkinter.Entry(root)
root.bind('
可视化
在用户决定退出游戏后,我们将使用条形图和饼形图向用户显示结果#Plotting the bar graph
-
头文件+宏,完美解决声明函数问题!2021-03-30
-
如何使用OpenCV+Keras+Tensorflow实现去噪算法与自定义预处理函数2021-03-28
-
linux:如何查看函数被哪些函数调用过?2021-03-25
-
如何运用Linux内核访问另外一个模块的函数和变量?2021-03-11
-
C语言:在函数参数中传递指针的指针简析2021-03-05
-
字符串拷贝函数有哪几种方法,哪个效率最高?2021-03-02
-
程序内如何计算一个函数的执行时间?2021-02-25
-
标准库函数与基于HAL库函数2020-12-15
-
工业自动化控制之【03-延时函数演示流水灯】2020-10-03
-
创建一个简单的人脸识别手机APP程序2020-09-22
-
网页小游戏时代的终结:微软也宣布将停止支持Flash插件2019-09-04
-
基于XML描述的可编程函数式ETL实现2019-07-02
-
Nature 研究观测量子跃迁过程,薛定谔的波函数得到验证2019-06-24