Преа́мбула: в связи со спецификой условий выполнения задачи, код далее написан исходя из:
- Сначала функционал, потом оптимизация.
- Есть недостатки о которых будет написано ниже
"Simple pac-man game with simple menu example"
GeekBrains
Задание:
Необходимо создать прототип знаменитой игры Pac-man. Код программы не должен превышать 300 строк.
- Игра должна быть построена по всем канонам ООП (Отдельный класс для каждого спрайта)
- Добавить задний фон (любой)
- Добавить класс с Pacman.
- Pacman должен появляться в центре экрана.
- Pacman должен постоянно двигаться в том направлении, в котором нажата стрелка
- Если Pacman достигнет края экрана, то он должен останавливать свое движение
- Во время движения Pacman должен открывать и закрывать рот
- Добавить класс с врагами.
- Класс для врагов должен быть один
- Количество врагов - 4 шт. ()
- Все враги должны появляться в случайном месте экрана
- Все враги должны должны двигаться в случайном направлении в течение 5 секунд. По прошествии данного времени, направление движения должно измениться
- Добавить взаимодействие спрайтов.
- При касании Pacman’ом врага, враг должен исчезать
- Как только Pacman съест всех врагов, должны появиться новые враги
**To install run one of these block in terminal emulator on Linux-machine**
- get this repo
git clone https://github.com/entropax/rambo-pac-man && \
cd rambo-pac-man
- install with venv and pip requirements:
python3 -m venv ./.venv && source .venv/bin/activate && \
python3 -m pip install --upgrade pip && pip install -r requirements.txt
To start web-app run one of these block
- with python:
python main.py
- move your pac-man in any direction;
- eating creeps;
- enjoy;
Некоторые поправки:
- пункт 4
Все враги должны должны двигаться в случайном направлении в течение 5 секунд. По прошествии данного времени, направление движения должно измениться
!!! (сделал 3 секунды , для более правной игровой динамики) - пункт 5
Как только Pacman съест всех врагов, должны появиться новые враги
!!! (враг появляется, после каждого убийства, сделано с той же целью, динаимки)