DogAcademyGame/config.py
Xatiko b5e3fd95b6 Исправления:
1. База знаний
+ кнопка активна
+ данные взяты из конфига и бд
2. Изображения
+ нет абсолютных путей
2024-12-05 21:26:36 +03:00

133 lines
No EOL
4.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import os
# Базовая директория проекта
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
# Директория с ресурсами
ASSETS_DIR = os.path.join(BASE_DIR, "assets")
DOGS_DIR = os.path.join(ASSETS_DIR, "dogs")
# Админ-интерфейс (тёмные цвета)
ADMIN_BACKGROUND_COLOR = "#403d49"
ADMIN_PRIMARY_COLOR = "#ff6347"
ADMIN_BUTTON_COLOR = "#444444"
ADMIN_BUTTON_TEXT_COLOR = "#ffffff"
ADMIN_FONT = ("Comic Sans MS", 25)
ADMIN_BIG_FONT = ("Comic Sans MS", 40)
# Интерфейс пользователя (АВТОРИЗАЦИЯ)
BACKGROUND_COLOR = "#f8e1e1"
PRIMARY_COLOR = "#ff6347"
BUTTON_COLOR = "#87ceeb"
BUTTON_TEXT_COLOR = "white"
FONT = ("Comic Sans MS", 25)
BIG_FONT = ("Comic Sans MS", 40)
# ГЛАВНОЕ МЕНЮ
BACKGROUND_COLOR_USER = "#bcabe5" # Основной фон
TOP_PANEL_COLOR_USER = "#aa9bcd" # Цвет верхней панели
BUTTON_COLOR_PROFILE_USER = "#a2c792" # Цвет кнопок "Профиль", "Магазин", "База знаний"
BUTTON_COLOR_PLAY_USER = "#b4e1a1" # Цвет кнопки "Играть"
BUTTON_COLOR_EXIT_USER = "#a2c792" # Цвет кнопки "Выход"
BUTTON_TEXT_COLOR_USER = "white" # Цвет текста на кнопках
FONT_USER = ("Comic Sans MS", 20) # Шрифт для текста кнопок
BIG_FONT_USER = ("Comic Sans MS", 30) # Большой шрифт (например, для заголовков)
BUTTON_RADIUS_USER = 50 # Радиус круглой кнопки
EXIT_BUTTON_SIZE_USER = (80, 40) # Размер кнопки "Выход"
TOP_PANEL_COLOR = "#BBA0D0"
BUTTON_COLOR_PROFILE = "#8FC085"
BUTTON_COLOR_PLAY = "#8FC085"
BUTTON_COLOR_EXIT = "#8FC085"
# Размеры
PLAY_BUTTON_RADIUS = 100
EXIT_BUTTON_WIDTH = 100
EXIT_BUTTON_HEIGHT = 50
# Данные для авторизации администратора
ADMIN_LOGIN = "admin"
ADMIN_PASSWORD = "admin123"
# База данных
DATABASE_URL = f"sqlite:///{os.path.join(BASE_DIR, 'database', 'DogAcademy.db')}"
# Пути к ресурсам
SETTINGS_IMG = os.path.join(ASSETS_DIR, "settings.png")
LOGO = os.path.join(ASSETS_DIR, "logo.png")
BACKGROUND_GAME = os.path.join(ASSETS_DIR, "background.png")
BONE = os.path.join(ASSETS_DIR, "bone.png")
LOCK = os.path.join(ASSETS_DIR, "lock.png")
UNLOCK = os.path.join(ASSETS_DIR, "unlock.png")
DONE = os.path.join(ASSETS_DIR, "done.png")
# Пути к изображениям собак
CHIHUAHUA = os.path.join(DOGS_DIR, "Chihuahua.png")
CORGI = os.path.join(DOGS_DIR, "Corgi.png")
RETRIEVER = os.path.join(DOGS_DIR, "Golden_Retriever.png")
HUSKY = os.path.join(DOGS_DIR, "Husky.png")
POMERANIAN = os.path.join(DOGS_DIR, "Pomeranian.png")
PUG = os.path.join(DOGS_DIR, "Pug.png")
YORKSHIRE = os.path.join(DOGS_DIR, "Yorkshire_Terrier.png")
# Данные о характерах собак
DOG_CHARACTERS = {
"Chihuahua": {
"image": CHIHUAHUA,
"speed": 8,
"endurance": 5,
"special_ability": "Fast Dodge",
},
"Corgi": {
"image": CORGI,
"speed": 6,
"endurance": 7,
"special_ability": "Extra Jump",
},
"Golden Retriever": {
"image": RETRIEVER,
"speed": 7,
"endurance": 8,
"special_ability": "Bonus Points",
},
"Husky": {
"image": HUSKY,
"speed": 9,
"endurance": 6,
"special_ability": "Speed Boost",
},
"Pomeranian": {
"image": POMERANIAN,
"speed": 7,
"endurance": 4,
"special_ability": "Charm",
},
"Pug": {
"image": PUG,
"speed": 5,
"endurance": 9,
"special_ability": "Resilience",
},
"Yorkshire Terrier": {
"image": YORKSHIRE,
"speed": 6,
"endurance": 5,
"special_ability": "Quick Recovery",
},
}
# Утилиты
NOTIFICATION_LEVEL = "info" # Возможные значения: "info", "warning", "error"
USE_DATABASE_LOGS = True
# Игровые параметры
INITIAL_SCORE = 5 # Начальные очки игрока
POINTS_CORRECT_ANSWER = 2 # Очки за правильный ответ
POINTS_WRONG_ANSWER = -1 # Штраф за неправильный ответ
MAX_LEVELS = 100 # Максимальное количество уровней
INITIAL_DOG_STATUS = {"health": 100, "hunger": 0, "sleepiness": 0} # Стартовые характеристики собаки
# Параметры карты
MIN_OBSTACLES = 3 # Минимум препятствий на уровне
MAX_OBSTACLES = 6 # Максимум препятствий на уровне
# Графика и анимация
COUNTDOWN_DURATION = 3 # Продолжительность обратного отсчёта в секундах