以下是一个使用Python和Tkinter库创建一个简单的Trivia游戏的示例代码,其中比较了单选按钮的值与答案:
import tkinter as tk
from tkinter import messagebox
class TriviaGame:
def __init__(self, root):
self.root = root
self.question_index = 0
self.score = 0
self.questions = [
{
'question': 'What is the capital of France?',
'options': ['Paris', 'London', 'Berlin'],
'answer': 'Paris'
},
{
'question': 'What is the largest planet in our solar system?',
'options': ['Mars', 'Saturn', 'Jupiter'],
'answer': 'Jupiter'
},
]
self.create_widgets()
def create_widgets(self):
self.question_label = tk.Label(self.root, text='')
self.question_label.pack()
self.radio_buttons = []
for i in range(len(self.questions[self.question_index]['options'])):
radio_button = tk.Radiobutton(self.root, text='', variable=tk.StringVar(), value=i)
radio_button.pack()
self.radio_buttons.append(radio_button)
self.submit_button = tk.Button(self.root, text='Submit', command=self.check_answer)
self.submit_button.pack()
self.next_question_button = tk.Button(self.root, text='Next Question', command=self.next_question)
self.next_question_button.pack()
self.next_question_button.configure(state='disabled')
self.update_question()
def update_question(self):
question_data = self.questions[self.question_index]
self.question_label.config(text=question_data['question'])
for i, option in enumerate(question_data['options']):
self.radio_buttons[i].config(text=option)
def check_answer(self):
selected_option = int(self.radio_buttons[int_var.get()].cget('value'))
correct_option = self.questions[self.question_index]['answer']
if self.radio_buttons[selected_option].cget('text') == correct_option:
self.score += 1
messagebox.showinfo('Result', 'Correct Answer!')
else:
messagebox.showinfo('Result', 'Wrong Answer!')
self.submit_button.configure(state='disabled')
self.next_question_button.configure(state='normal')
def next_question(self):
self.question_index += 1
if self.question_index >= len(self.questions):
messagebox.showinfo('Game Over', f'Your score: {self.score}/{len(self.questions)}')
self.root.destroy()
else:
self.update_question()
self.submit_button.configure(state='normal')
self.next_question_button.configure(state='disabled')
root = tk.Tk()
game = TriviaGame(root)
root.mainloop()
这个示例代码创建了一个简单的Trivia游戏,其中有两个问题。每个问题都有三个选项和一个正确答案。用户通过选择单选按钮来回答问题。当用户提交答案后,程序将比较选择的选项与正确答案,并显示相应的结果。最后,程序将显示用户的得分,并关闭游戏窗口。
请注意,此示例代码使用了Tkinter库来创建GUI界面和消息框,因此您需要安装Tkinter库才能运行代码。
下一篇:比较单元格的值