import tkinter as tk
from quiz import get_questions, check_answer, get_result
from ui import show_question, show_result
# Глобальное состояние викторины
questions = []
current_index = 0
correct_count = 0
def on_answer(answer):
"""
Вызывается когда студент нажимает кнопку с вариантом ответа.
Проверяет ответ, обновляет счёт и переходит дальше.
"""
global current_index, correct_count
question = questions[current_index]
# Проверяем ответ
if check_answer(question, answer):
correct_count += 1
current_index += 1
# Если вопросы ещё есть — показываем следующий
if current_index < len(questions):
show_question(
window,
questions[current_index],
current_index + 1,
len(questions),
on_answer
)
else:
# Все вопросы закончились — показываем результат
result_text = get_result(correct_count, len(questions))
show_result(window, result_text, start_quiz)
def start_quiz():
"""
Запускает (или перезапускает) викторину.
Сбрасывает счёт и индекс, загружает вопросы.
"""
global questions, current_index, correct_count
questions = get_questions()
current_index = 0
correct_count = 0
show_question(
window,
questions[current_index],
current_index + 1,
len(questions),
on_answer
)
# Создаём главное окно
window = tk.Tk()
window.title("Викторина по мемам")
window.geometry("500x620")
window.configure(bg="#f0f0f0")
window.resizable(False, False)
# Запускаем викторину
start_quiz()
# Запускаем главный цикл окна
window.mainloop()