Клонировать репозиторий
git clone https://github.com/notrurs/zombie_shooter_026.git
Установить зависимости
pip install -r requirements.txt
Запускать игру командой
python main.py
ВНИМАНИЕ! Для корректного запуска игры, нужно, чтобы в переменной PYTHONPATH был путь до папки zombie_shooter_025
!
Управление на клавиши WASD
, ЛКМ
- стрелять.
Почти каждый параметр игры можно настроить под себя, воспользовавшись конфигурационным файлом
config.py, который находится в пакете shooter
.
В игру встроен простой редактор карт, который можно найти по пути shooter/resources/levels
.
Каждый уровень игры представляет собой обычный .txt
файл, где специальными символами обозначены
игровые объекты. На данный момент используются следующие обозначения:
-
- камень, сквозь который нельзя пройтиP
- игрок, может быть только один (технически, можно добавить второго, но тогда игрок будет управлять сразу двумя)Z
- зомби, может быть сколько угодно
Абсолютно под каждым игровым объектом создаётся кусок земли.
При желании, можно отредактировать уже созданный уровень level.txt
, либо добавить новый следующим образом:
- Создаём новый txt-файл в папке
levels
- В
config.py
прописываем путь к новому уровню, например:
LEVEL_2 = _LEVELS_DIR / 'level2.txt'
- В
main.py
импортируем созданный уровень по аналогии сLEVEL_1
, например:
from config import LEVEL_2
- В
main.py
в классеGameLogic
, в параметрах вызываемого родительского конструктора меняемLEVEL_1
на свой импортированный уровень, например:
Было:
super().__init__(..., LEVEL_1)
Стало:
super().__init__(..., LEVEL_2)
- Готово! Теперь можно запускать игру
Каждый может поучаствовать в совершенствовании игры и создать:
- Новые объекты окружения: земля, другие камни, деревья, лужицы и т.д.
- Нового врага
- Ещё один уровень
- Можно объединить три пункта выше и создать уровень с новым контентом!
Пожалуйста, не изменяйте уже написанный код и уже добавленные объекты!
-
Иногда персонаж может пройти сквозь препятствие, если он одновременно коснётся двумя сторонами другие препятствия
-
В некоторых случаях зомби может пройти сквозь препятствие, если он одновременно коснётся двумя сторонами другие препятствия, однако, это происходит довольно редко.
-
Если в редакторе карт расположить препятствия рядом с "живыми" (игрок, зомби и т.д.) игровыми персонажами, они в них могут застрять, поэтому лучше так не делать
- Добавить меню с упрощенным выбором уровней
- Добавить музыку и прочие звуковые эффекты
- Добавить новый контент (уровни и прочие игровые объекты)