SpaceGame - это аналог легендарной игры Space Invaders, созданной в 1978 году.
- Установленный Python 3.x версии
- Установленные зависимости, указанные в файле requirements.txt
pip install -r requirements.txt
- Склонируйте репозиторий
- Создайте локальный репозиторий
- В папке проекта создайте папку с именем DataBase, путь этой папки должен выглядеть примерно так:
.../SpaceGame/DataBase/
-
Версия 1.1 (на данный момент последняя) сохраняет пользовательские рекорды в базе данных в файле highscore.db (создаётся сам призапуске программы)
-
Управление осуществляется нажатием кнопок
a
- движение влево,d
- движение вправо,space
(пробел) - стрельба, прижелании эти параметры можно переназначить путём изменения соответствующих параметров в функцииevents
в файлеcontrols.py
-
При желании конвертации данного кода в исполняемый
exe
файл вы можете выполнить следующие действия:-
Установить библиотеку
pyinstaller
консольной командойpip install pyinstaller
(обязателен установленный пакетный менеджерpip
) -
Базовая команда для конвертации -
pyinstaller main.py
-
Возможные флаги в команде:
-F
(рекомедуется к использованию) - сокращение от--onefile
, создает файл спецификации, который позволяет упаковать и упаковывает всё необходимое в один exe-файл, противоположен по выполняемой функции флагу-D
--noconsole
(при использовании расширения.pyw
вmain
файле не необходим, в противном случае рекомендуется к использованию) - при запуске собранного с использованием этого флагаexe
файла НЕ запускается консоль, в противном случае консоль будет запущена на мнгновениеD
- сокращение от--onedir
при использовании этого флага получаем одну папку (с именем main), она содержит файл с именем main.exe вместе со всеми необходимыми зависимостямиi
- сокращение от--icon
, изменяет аватар создваемогоexe
файла, пример использования:pyinstaller -i example.ico main.pyw
, Важно ! - файл используемый для аватара должен быть обязательно в формате.ico
-
Рекомендуемая вариация команды для конвертации в
exe
файл -pyinstaller -F main.pyw
-
Необходимо находится в директории проекта, то есть приблизительно так:
.../SpaceGame/
-
После успешной конвертации создаётся папка
dist
сexe
файлом в директории проекта, в неё также необходимо добавить папкуimage
из проекта
-
-
При желании изменить внешний вид противников или пушки - измените файлы в папке
image
:ino
иgun
соответственно, важно не менять название файлов, изображение должно быть форматом.png
или.jpeg
, поддерживаются и другие форматы, но это рекомендуемые, для сохранения отношения размеров обьектов следует изменять файлgun.png
на изображение размером ~ 50 на 50 пикселей, а файлino.png
на изображение размером ~ 40 на 40 пикселей
-
При желании облегчить или усложнить игру можно сделать следующие действия:
-
Чтобы изменить количество жизней - измените значение
self.gun_left
в файлеstats.py
на то, количество скольки жизней вы хотите получить -
Чтобы изменить размеры пуль - измените значение
self.rect
в файлеbullet.py
, итоговый вид параметра должен выглядеть так:self.rect = pygame.Rect(0, 0, x, y)
, где x и y это размеры пули -
Чтобы изменить скорость пули измените значение
self.speed
в файлеbullet.py
, в данном случае скорость - величина условная -
Чтобы изменить скорость противников - измените значение
self.y
в функцииupdate
в файлеino.py
-
Чтобы изменить скороть пушки при движении вправо - измените значение
self.center
в блокеif
в функцииupdate_gun
в файлеgun.py
-
Чтобы изменить скороть пушки при движении влево - измените значение
self.center
в блокеelif
в функцииupdate_gun
в файлеgun.py
-
Примечание: Данная версия игры не является исчерпывающей, если у вас есть идеи по её улучшению - пишите в telegram: @kolo_id