/
MetCode
/
Arkanoid_for_human
Обзор
Документация
Войти
/
MetCode
/
Arkanoid_for_human
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
scripts/build_msi.py
93 строки
3 KB
mxchgeCode
Исправлена анимация победы: теперь показывается при обычной победе (все кирпичи уничтожены)
13 дек 2025, 07:33
13 дек 2025, 07:33
84a1b96
Код
Авторство
О чём код?
#!/usr/bin/env python # -*- coding: utf-8 -*- """ Скрипт сборки MSI инсталлятора игры Арканоид """ import os import sys import subprocess import shutil # Определяем корень проекта и директорию скриптов project_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) scripts_dir = os.path.dirname(os.path.abspath(__file__)) def get_current_version(): """Получает текущую версию из version.py и обновляет её во всех файлах""" try: sys.path.insert(0, project_root) from game.version import get_version_string, update_version_in_all_files # Обновляем версию во всех файлах проекта print("Обновляю версию проекта...") if update_version_in_all_files(): print("✅ Версия обновлена во всех файлах") else: print("⚠️ Не удалось обновить версию во всех файлах") return get_version_string() except Exception as e: print(f"Ошибка чтения версии из version.py: {e}") return "2.3.0000" def build_msi(): """Создает MSI инсталлятор""" try: print("Создаю MSI инсталлятор...") # Проверяем, существует ли exe файл version = get_current_version() exe_path = os.path.join( project_root, "FINAL_RELEASE", f"Arkanoid_v{version}.exe" ) if not os.path.exists(exe_path): print(f"EXE файл {exe_path} не найден. Создаю...") exe_result = subprocess.run( [sys.executable, os.path.join(project_root, "scripts", "build_exe.py")] ) if exe_result.returncode != 0: print("Ошибка создания EXE") return False # Запускаем скрипт создания MSI result = subprocess.run( ["python", os.path.join(project_root, "scripts", "create_msi.py")] ) # Копируем MSI в FINAL_RELEASE и проверяем build_msi_path = os.path.join( scripts_dir, "build", f"Arkanoid_v{version}_Setup.msi" ) final_dir = os.path.join(project_root, "FINAL_RELEASE") os.makedirs(final_dir, exist_ok=True) final_msi_path = os.path.join(final_dir, f"Arkanoid_v{version}_Setup.msi") if os.path.exists(build_msi_path): shutil.copy2(build_msi_path, final_msi_path) return True else: print("MSI файл не создан") return False except Exception as e: print(f"Ошибка при создании MSI: {e}") return False def main(): print("=== Сборка MSI инсталлятора Arkanoid ===") if build_msi(): version = get_current_version() final_msi_path = os.path.join( project_root, "FINAL_RELEASE", f"Arkanoid_v{version}_Setup.msi" ) print(f"\n✅ MSI инсталлятор готов: {final_msi_path}") else: print("\n❌ Ошибка сборки MSI инсталлятора") if __name__ == "__main__": main()