Project for Technologies of Programming and Python courses in Moscow Institute of Physics and Technology
Игра-тренажер для людей, которые только осваивают десятипальцевый набор. Особенно полезна для детей, так как предлагает научиться печатать быстро и эффективно в формате игры
"В вашем мире любого врага можно уничтожить, если вы знаете его имя. Древние знания ваших предков позволили вам видеть имена всех ваших врагов. Защитите ваш дом от полчищ гадких тварей, насылая на них потоки заклинаний"
Чтобы уничтожить врага, нужно последовательно ввести буквы его имени (заклинание), из которых состоит его имя. На low левелах можно ошибаться в записи, на высоких уровнях придется после ошибки вводить заклинание заново.
Типы монстров:
- обычные монстры - средняя длина имени и средняя скорость
- монстры-матки - имя больше по длине, генерирует маленьких монстров с маленькими именами, пока живет
- мини-монстры - генерируются маткой, имеют маленькие имена
- скоростные монстры, с небольшимм именем, но высокой скоростью
- боссы - длинные древние имена, сложные для произнесения (длинные, возможно добавление нескольких имен как режимов босса). Медленные (или стоят на месте), генерируют иногда противников или мощно заклинание, которое необходимо остановить, иначе Смэрть
Враги будут двигать сверху вниз, скорость врагов варьируется от типа и уровня игры. Для каждого уровня будут определены волны, количество врагов, их типы, наличие босса в конце
Требуется наличие pygame для запуска игры
Запуск происходит командой python3 main.py
Для меню, игры, меню выбора уровня и тд используются Состояния. Кроме того, состояния совмещены с Одиночкой, для того, чтобы:
- Не пересоздавать все необходимые части для отрисовки картинки
- Легко возвращаться к уже созданной игре из состояния паузы
- Не иметь несколько состояний, например, меню, так как это противоречит логике
Заклинания, которые будут заряжаться от быстрой скорости ввода текста или введения букв подряд без ошибок в течении долгого времени
Как варинт добавить прокачку персонажа, добавить урон у врагов и ХП у персонажа, а также зелья и заклинания для защиты/регена
- Реализовать классы врагов
- Продумать концепцию из Идей