1. "Пользователь не найден" + заполнила таблицы из бд Dogs, Qoestions. 2. Меню паузы + оно больше не появляется в главном меню, при выборе собаки и уровня. 3. Окно победы + не открывается куча окон, собака не двигается, пока окно победы активно + добавлена кнопка "выйти в главное меню" 3. Окно регистрации + кнопка "посмотреть пароль" 4. таблица GameSessions + сохранение игрового процесса в таблицу GameSessions + одинаковые данные переносятся автоматически в таблицу GameSessions + собранные косточки и тп заполняют только таблицу GameSessions 5. Окно "Профиль пользователя" + нет ошибки открытия окна + корректное сохранение игрового процесса (уровни, косточки) 6. Окно "Магазин" + не кликабельная + кнопка "назад" - shop_ui.py 7. Окно "База знаний" + не кликабельная + кнопка "назад" - knowledge_ui.py
34 lines
No EOL
1.5 KiB
Python
34 lines
No EOL
1.5 KiB
Python
from database.db_events import get_user_progress
|
|
from database.db_session import get_session
|
|
from sqlalchemy.exc import SQLAlchemyError
|
|
from database.models import GameSession
|
|
|
|
|
|
def save_game_session(user_id, level, score, duration, health, hunger, sleepiness):
|
|
"""Сохранение игрового процесса в таблицу GameSessions."""
|
|
session = get_session()
|
|
try:
|
|
# Создаем новый объект GameSession
|
|
game_session = GameSession(
|
|
user_id=user_id,
|
|
level=level,
|
|
score=score,
|
|
duration=duration,
|
|
health=health,
|
|
hunger=hunger,
|
|
sleepiness=sleepiness,
|
|
)
|
|
session.add(game_session)
|
|
session.commit() # Сохраняем данные в таблице
|
|
print(f"Игровой процесс для пользователя {user_id} на уровне {level} успешно сохранен.")
|
|
except SQLAlchemyError as e:
|
|
session.rollback()
|
|
print(f"Ошибка при сохранении игрового процесса: {e}")
|
|
finally:
|
|
session.close()
|
|
|
|
def print_user_progress(user_id):
|
|
"""Печать прогресса пользователя из таблицы GameSessions."""
|
|
progress = get_user_progress(user_id)
|
|
for session in progress:
|
|
print(f"Уровень: {session.level}, Очки: {session.score}, Время: {session.duration} секунд") |