DogAcademyGame/database/info/GameSessions_table.py
Xatiko 9f5d36d1a1 Исправления:
1. "Пользователь не найден"
+ заполнила таблицы из бд Dogs, Qoestions.
2. Меню паузы
+ оно больше не появляется в главном меню, при выборе собаки и уровня.
3. Окно победы
+ не открывается куча окон, собака не двигается, пока окно победы активно
+ добавлена кнопка "выйти в главное меню"
3. Окно регистрации
+ кнопка "посмотреть пароль"
4. таблица GameSessions
+ сохранение игрового процесса в таблицу GameSessions
+ одинаковые данные переносятся автоматически в таблицу GameSessions
+ собранные косточки и тп заполняют только таблицу GameSessions
5. Окно "Профиль пользователя"
+ нет ошибки открытия окна
+ корректное сохранение игрового процесса (уровни, косточки)
6. Окно "Магазин"
+ не кликабельная
+ кнопка "назад"
- shop_ui.py
7. Окно "База знаний"
+ не кликабельная
+ кнопка "назад"
- knowledge_ui.py
2024-11-29 19:54:28 +03:00

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} секунд")